Partager via


Introduction à la surveillance des événements de système de fichiers

Mise à jour : novembre 2007

Utilisez le composant FileSystemWatcher pour surveiller un système de fichiers et réagir lors de l'apport de modifications aux répertoires et aux fichiers qu'il contient. Ce composant vous permet de lancer rapidement et simplement des processus de gestion lorsque des fichiers ou des répertoires donnés sont créés, modifiés ou supprimés. Supposons, par exemple, que vous-même et un groupe de collègues collaboriez à l'élaboration d'un document stocké dans un répertoire partagé de votre serveur. Vous pouvez, avec une instance du composant FileSystemWatcher, programmer votre application de sorte qu'elle surveille toute modification apportée au contenu de ce répertoire partagé. Lorsqu'un tel cas se produit, le composant peut exécuter des procédures qui en informent chacun des membres du groupe par courrier électronique.

Remarque :

Le composant FileSystemWatcher est conçu pour surveiller les modifications apportées au sein d'un répertoire, mais pas celles qui sont apportées aux attributs du répertoire racine. Par exemple, si vous surveillez un répertoire appelé c:\MesProjets, le composant surveille les modifications survenues au sein du répertoire et non celles qui sont apportées au répertoire racine lui-même.

Vous pouvez configurer le composant pour qu'il surveille l'intégralité du répertoire et de son contenu ou simplement un fichier ou un ensemble de fichiers spécifique dans un répertoire donné. Le composant FileSystemWatcher déclenche un événement chaque fois qu'un fichier ou un sous-répertoire du répertoire racine spécifié est créé, supprimé, renommé ou modifié d'une quelconque façon. Les types de modifications observés par le composant comprennent des modifications des attributs du fichier ou du sous-répertoire, de la taille, de l'heure de dernière écriture, de l'heure du dernier accès ou des paramètres de sécurité.

Note de sécurité :

Une attaque par déni de service peut avoir lieu si un programme nuisible accède à un répertoire surveillé par votre composant FileSystemWatcher et génère un nombre de modifications trop important pour que le composant puisse les gérer. Suivez les recommandations de Considérations sur les modifications de fichiers dans des systèmes présentant un gros volume d'activités et utilisez des listes de contrôle d'accès de façon appropriée pour réduire le risque d'une attaque par déni de service.

Événement de niveau répertoire

L'apport de modifications dans un répertoire racine ou un fichier surveillé par votre application déclenche un ou plusieurs événements, stockés dans une mémoire tampon et finalement passés à votre composant pour traitement. Le composant FileSystemWatcher vous donne accès aux événements suivants :

  • Created — déclenché chaque fois qu'un répertoire ou fichier est créé.

  • Deleted — déclenché chaque fois qu'un répertoire ou fichier est supprimé.

  • Renamed — déclenché chaque fois que le nom d'un répertoire ou fichier est modifié.

  • Changed — déclenché chaque fois que des modifications sont apportées à la taille, aux attributs système, à l'heure de dernière écriture, à l'heure de dernier accès ou aux autorisations de sécurité d'un répertoire ou d'un fichier.

    Remarque :

    Même si certaines opérations courantes, comme la copie ou le déplacement d'un fichier, ne correspondent pas directement à des événements, elles déclenchent néanmoins des événements. Lorsque vous copiez un fichier, le système déclenche un événement Created dans le répertoire vers lequel le fichier a été copié, mais ne déclenche pas d'événement dans le répertoire d'origine. Lorsque vous déplacez un fichier, le serveur déclenche deux événements : un événement Deleted dans le répertoire source, suivi d'un événement Created dans le répertoire cible.

Chaque modification apportée à un fichier d'un répertoire déclenche un événement distinct. Si un utilisateur apporte plusieurs modifications à un même fichier, l'application déclenche un événement distinct pour chacune d'elles. Par exemple, si vous surveillez un répertoire qui contient cinq fichiers et que les autorisations de sécurité de tous les fichiers sont subitement modifiées, vous recevez cinq événements Changed. Si l'utilisateur renomme et assigne de nouvelles autorisations de sécurité à chacun de ces fichiers, vous recevrez 10 notifications d'événements : un événement Changed et un événement Renamed pour chacun des cinq fichiers.

Voir aussi

Tâches

Comment : créer des instances du composant FileSystemWatcher

Comment : configurer des instances du composant FileSystemWatcher

Comment : créer des gestionnaires pour les événements de système de fichiers

Comment : attendre que des événements de système de fichiers spécifiés se produisent

Concepts

Considérations sur les modifications de fichiers dans des systèmes présentant un gros volume d'activités