Freigeben über


Einführung in die Überwachung von Dateisystemereignissen

Aktualisiert: November 2007

Mit der FileSystemWatcher-Komponente überwachen Sie ein Dateisystem und reagieren, wenn Änderungen an den Verzeichnissen oder den darin enthaltenen Dateien vorgenommen werden. Auf diese Weise können Sie Geschäftsprozesse schnell und problemlos starten, wenn bestimmte Dateien oder Verzeichnisse erstellt, geändert oder gelöscht wurden. Angenommen, Sie und mehrere andere Kollegen arbeiten an einem Dokument, das sich in einem gemeinsam genutzten Verzeichnis auf dem Server befindet. Wenn Sie eine Instanz der FileSystemWatcher-Komponente verwenden, können Sie die Anwendung so programmieren, dass Sie Änderungen des Inhalts des gemeinsam genutzten Verzeichnisses verfolgen können. Wenn eine Änderung festgestellt wird, kann die Komponente Prozeduren ausführen, mit denen die einzelnen Gruppenmitglieder per E-Mail benachrichtigt werden.

Hinweis:

Mit der FileSystemWatcher-Komponente können Änderungen in einem Verzeichnis festgestellt werden, Änderungen an den Attributen des Stammverzeichnisses hingegen nicht. Bei einem Verzeichnis mit dem Namen c:\MeineProjekte überwacht die Komponente Änderungen in dem Verzeichnis, jedoch keine Änderungen, die am Verzeichnis selbst vorgenommen werden.

Sie können die Komponente so konfigurieren, dass ein ganzes Verzeichnis und sein Inhalt oder eine bestimmte Datei bzw. mehrere Dateien in einem Verzeichnis überwacht werden. Die FileSystemWatcher-Komponente löst ein Ereignis aus, sobald eine Datei oder ein Unterverzeichnis im angegebenen Stammverzeichnis erstellt, gelöscht, umbenannt oder auf andere Weise geändert wird. Folgende Änderungen an Dateien oder Unterverzeichnissen können mit der Komponente überwacht werden: Änderungen der Attribute, der Größe, des Zeitpunkts der letzten Bearbeitung, des Zeitpunkts des letzten Zugriffs und Änderungen der Sicherheitseinstellungen für das Unterverzeichnis oder die Datei.

Sicherheitshinweis:

Ein Denial-of-Service-Angriff ist möglich, wenn ein bösartiges Programm auf ein durch die FileSystemWatcher-Komponente überwachtes Verzeichnis zugreifen kann und so viele Veränderungen generiert, dass die Komponente sie nicht bewältigen kann. Befolgen Sie die unter Überlegungen zu Dateiänderungen auf Hochleistungssystemen genannten Empfehlungen, und verwenden Sie die Zugriffssteuerungslisten ordnungsgemäß, um das Risiko eines Denial-of-Service-Angriffs zu verringern.

Ereignisse auf Verzeichnisebene

Wenn Änderungen in einem Stammverzeichnis oder an einer Datei vorgenommen werden, das bzw. die von der Anwendung überwacht wird, wird mindestens ein Ereignis ausgelöst, in einem Puffer gespeichert und schließlich zur Verarbeitung an die Komponente weitergeleitet. Die FileSystemWatcher-Komponente ermöglicht Ihnen den Zugriff auf folgende Ereignisse:

  • Created: Wird ausgelöst, wenn ein Verzeichnis oder eine Datei erstellt wird.

  • Deleted: Wird ausgelöst, wenn ein Verzeichnis oder eine Datei gelöscht wird.

  • Renamed: Wird ausgelöst, wenn der Name eines Verzeichnisses oder einer Datei geändert wird.

  • Changed: Wird ausgelöst, wenn für ein Verzeichnis oder eine Datei Änderungen der Größe, der Systemattribute, des Zeitpunkts der letzten Bearbeitung, des Zeitpunkts des letzten Zugriffs oder der Sicherheitsberechtigungen erfolgen.

    Hinweis:

    Manche häufig vorkommenden Aktionen, wie das Kopieren oder Verschieben einer Datei, entsprechen nicht direkt einem Ereignis. Dennoch werden von ihnen ebenfalls Ereignisse ausgelöst. Wenn Sie eine Datei kopieren, löst das System ein Created-Ereignis in dem Verzeichnis aus, in das die Datei kopiert wurde. Im Ausgangsverzeichnis wird hingegen kein Ereignis ausgelöst. Wenn Sie eine Datei verschieben, löst der Server zwei Ereignisse aus: ein Deleted-Ereignis im Quellverzeichnis, gefolgt von einem Created-Ereignis im Zielverzeichnis.

Jede Änderung an einer Datei in einem Verzeichnis löst ein separates Ereignis aus. Wenn ein Benutzer mehrere Änderungen an einer Datei vornimmt, wird für jede einzelne Änderung ein separates Ereignis ausgelöst. Wenn Sie ein Verzeichnis mit fünf Dateien überwachen und sich plötzlich die Sicherheitsberechtigungen für alle Dateien ändern, erhalten Sie fünf Changed-Ereignisse. Wenn der Benutzer diese Dateien umbenennt und ihnen neue Sicherheitsberechtigungen zuweist, erhalten Sie zehn Ereignisbenachrichtigungen – jeweils ein Changed-Ereignis und ein Renamed-Ereignis für jede der fünf Dateien.

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Instanzen von FileSystemWatcher-Komponenten

Gewusst wie: Konfigurieren von Instanzen von FileSystemWatcher-Komponenten

Gewusst wie: Erstellen von Handlern für Dateisystemereignisse

Gewusst wie: Abwarten angegebener Dateisystemereignisse

Konzepte

Überlegungen zu Dateiänderungen auf Hochleistungssystemen