Freigeben über


Dateiabholungs- und Wiederholungslogik

Wenn der FileSystemWatcher-Ereignisanbieter eine Ereignisdatei nicht lesen kann, kann der Ereignisanbieter die Datei einer Warteschlange hinzufügen und dann zu einem späteren Zeitpunkt verarbeiten. In diesem Thema wird die Dateiabholungs- und Wiederholungslogik von FileSystemWatcher beschrieben.

Die Dateiwarteschlange

Wenn der Windows-Dienst bzw. die Anwendung, auf dem bzw. der der FileSystemWatcher-Ereignisanbieter ausgeführt wird, gestartet und der Ereignisanbieter aktiviert wird, fügt der FileSystemWatcher-Ereignisanbieter alle XML-Dateien, für die er über eine Leseberechtigung verfügt, einer Warteschlange hinzu. Durch das Einreihen der Dateien in eine Warteschlage wird verhindert, dass sich der Puffer in der FileSystemWatcher-Klasse füllt, was die Verarbeitung von Dateien verhindern könnte.

Wenn neue XML-Dateien hinzugefügt werden, werden diese Dateien sofort verarbeitet. Der Warteschlange werden nur dann neue Dateien hinzugefügt, wenn der Ereignisanbieter gestartet wird oder wenn bei dem Versuch, eine Datei zu verarbeiten, ein Fehler auftritt.

Der FileSystemWatcher-Ereignisanbieter versucht, Dateien in der Warteschlange anhand eines Zeitplanes zu verarbeiten, der beim Definieren des Ereignisanbieters von Ihnen angegeben wird. Für jede Datei in der Warteschlange versucht der FileSystemWatcher-Ereignisanbieter, die Daten aus der Datei zu lesen. Wenn der Ereignisanbieter die Daten erfolgreich liest und an die Anwendung übermittelt, wird die Datei aus der Warteschlange entfernt.

Beachten Sie, dass ein Thread für Wiederholungsversuche verwendet wird. Notification Services verarbeitet jeweils einen Wiederholungsversuch (der mehrere Dateien enthalten kann). Nachfolgende Wiederholungsversuche werden ausgelassen, bis der Wiederholungsversuch abgeschlossen ist.

Gesperrte Dateien und Dateien, auf die nicht zugegriffen werden kann

Wenn eine Datei gesperrt ist, wenn der FileSystemWatcher-Ereignisanbieter versucht, die Daten zu lesen, belässt der Ereignisanbieter die Datei in der Warteschlange und inkrementiert einen Zähler für die Datei. Der Ereignisanbieter führt nach dem von Ihnen angegebenen Zeitplan erneute Versuche für die Datei aus, bis eine Grenze für die Wiederholungsversuche erreicht ist.

Wenn die Sicherheitseinstellung einer Datei es dem FileSystemWatcher-Ereignisanbieter nicht ermöglicht, auf die Datei zuzugreifen, wird die Datei nicht der Warteschlange hinzugefügt. Stattdessen überwacht Notification Services die Datei auf Änderungen von Sicherheitseinstellungen. Wenn eine Änderung von Sicherheitseinstellungen auftritt, wird die Datei der Warteschlange hinzugefügt.

Siehe auch

Konzepte

Dateiüberprüfung
Definieren eines FileSystemWatcher-Ereignisanbieters

Andere Ressourcen

FileSystemWatcher-Ereignisanbieter
Standardereignisanbieter
Definieren von Ereignisanbietern

Hilfe und Informationen

Informationsquellen für SQL Server 2005