Hauwee
Messages postés79Date d'inscriptionvendredi 8 décembre 2006StatutMembreDernière intervention29 janvier 2010
-
4 juin 2008 à 16:45
Hauwee
Messages postés79Date d'inscriptionvendredi 8 décembre 2006StatutMembreDernière intervention29 janvier 2010
-
26 juin 2008 à 16:55
Bonjour,
Je suis en train de développer un petit service dont la 1ère tâche serait de voir si des fichiers arrivent dans un répertoire.
Faut-il utiliser un timer ou y-a-t-il un autre moyen ?
Merci.
cs_Megafan
Messages postés389Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention23 septembre 20162 5 juin 2008 à 09:58
Salut,
Comme le suggére Kevin.Ory, tu peux utliser ce type d'objet, par contre si de temps en temps ton service tombe de manière inexpliquée, fait une vérification plus 'traditionnelle' dans ton répertoire.
@+
Megafan
Hauwee
Messages postés79Date d'inscriptionvendredi 8 décembre 2006StatutMembreDernière intervention29 janvier 2010 9 juin 2008 à 11:04
Petit souci. FileSystemWatcher fonctionne bien si j'accède à des fichiers locaux mais si je veux accéder à des fichiers en réseau, cela ne fonctionne pas :( J'ai essayé en utilisant une adresse UNC qu'un lecteur réseau.
Hauwee
Messages postés79Date d'inscriptionvendredi 8 décembre 2006StatutMembreDernière intervention29 janvier 2010 9 juin 2008 à 11:31
Pourtant j'ai lu des personnes qui utilisaient ce contrôle pour surveiller des répertoires réseaux donc c'est que ça doit être faisable. C'est pour ça que je ne comprends pas pourquoi avec moi ça ne fonctionne pas :(
Hauwee
Messages postés79Date d'inscriptionvendredi 8 décembre 2006StatutMembreDernière intervention29 janvier 2010 9 juin 2008 à 14:29
Comme je l'avais indiqué dans mon message, j'ai essayé avec un chemin UNC et un lecteur réseau
J'ai tous les droits, je suis administrateur de mon réseau ;) A moins que ce soit le service même qui n'est pas les droits nécessaires mais comme j'ai essayé avec les 4 modes différents (User/LocalSystem/LocalService/NetworkService), je ne sais plus trop où regarder
cs_Megafan
Messages postés389Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention23 septembre 20162 9 juin 2008 à 20:42
Salut,
Désolé je vois pas trop, personnelement j'ai déja crée des services sous 2003 avec accès à des fichiers de logs et base de registre pour la configuration. Pas de problémes particuliers....
A part envoyer ta source je vois pas comment t'aider...
Hauwee
Messages postés79Date d'inscriptionvendredi 8 décembre 2006StatutMembreDernière intervention29 janvier 2010 13 juin 2008 à 15:49
Pour info, j'utilise un FileSystemWatcher "visuel" donc je n'ai rien déclaré dans mon prog.
Voici mon code :
Sub New()
' Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()
' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
' Là j'indique le répertoire à surveiller Me.flwBilan.Path = My.Settings.RepTrav
End Sub
Protected Overrides Sub OnStart(ByVal args() As String)
' Ajoutez ici le code pour démarrer votre service. Cette méthode doit
' démarrer votre service.
Dim strInfos As String = ""
If My.Settings.ConsignerInformations = True Then strInfos "Paramètres du service TABEDID : " & Chr(13) & "Répertoire de travail " & My.Settings.RepTrav & Chr(13) & "Répertoire après traitement OK = " & My.Settings.RepBilanOK
End If
If My.Settings.UtiliserFiltre = True Then
Me.flwBilan.Filter = My.Settings.FiltreDetectionFichier strInfos &Chr(13) & "Filtre " & My.Settings.FiltreDetectionFichier
Else
Me.flwBilan.Filter = Nothing strInfos &Chr(13) & "Filtre Aucun"
End If
If My.Settings.ConsignerInformations = True Then
Me.JournalALC.WriteEntry(strInfos, EventLogEntryType.Information)
End If
' Toutes ces infos sont bien enregistrées dans le journal des évènement
End Sub
Private Sub Traiter(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles flwBilan.Changed, flwBilan.Created
Try
' Traitement automatique : découpage
Dim strBilanGlobal As String = ""
Dim intNbProd As Int16 = 0
Dim intNbPages As Int16 = 0
If My.Settings.ConsignerInformations = True Then
Me.JournalALC.WriteEntry("Fichier traité : " & e.FullPath, EventLogEntryType.Information)
End If
....
' je ne mets pas le reste du code car en fait ça n'arrive même pas à ce point. Suite à la ligne précédente, une entrée devrait être inscrite dans le journal des évènements et ça ne se fait pas donc j'ai l'impression que la procédure n'est même pas exécutée
Hauwee
Messages postés79Date d'inscriptionvendredi 8 décembre 2006StatutMembreDernière intervention29 janvier 2010 26 juin 2008 à 16:55
Bonjour,
J'ai mis ce petit programme en stand-by durant quelques jours.
En fait, le service fonctionne bien en réseau si le répertoire cible est sous Windows.
Or, moi je cherche à surveiller un dossier sur un système AIX
Par l'explorateur, je peux faire ce que je veux avec ce dossier (nouveau, modifier, supprimer)
Avec le service, j'arrive bien à voir les fichiers qui sont dans le répertoire mais si j'ajoute un fichier, je renomme ou je supprime, le service de déclenche aucun évènement