Freigeben über


SO WIRD'S GEMACHT: Warten bis angegebener Dateisystemereignisse

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

FileSystemWatcher -Methode können Sie zusätzlich zur Verwendung der Komponente WaitForChanged um ein bestimmtes Verzeichnis sofort zu überwachen, warten, bis ein bestimmtes Ereignis tritt ein, und fahren Sie mit Ausführung der Threads. Wenn Sie mit einer webbasierten News-Anwendung arbeiten, können Sie z. B. einen Admin-Teil der Website erstellen, in denen Benutzer Ihre Newsbeiträgen uploaden. WaitForChanged-Methode können das Verzeichnis beobachten, bis das letzte Datum ändert zugreifen und beginnen mit der Verarbeitung des News-Verzeichnis für neue Artikel.

Sie können den Typ der zu überwachenden durch Festlegen des Werts einer Enumeration WatcherChangeTypes Änderung angeben. Die möglichen Werte sind Created, Changed, Renamed, Deletedoder All. Festlegen des Wertes zu All überwacht alle Änderungen in das Verzeichnis. Sie können auch ein Timeout angeben, wenn Sie eine gewisse Zeit für das Ereignis eintritt warten möchten.

Die WaitForChanged -Methode gibt ein Objekt vom Typ „ WaitForChangedResult zurück. Diese Klasse enthält spezielle Informationen zum Typ der Änderung, die in das Verzeichnis aufgetreten sind. Sie können Informationen wie Name, OldName und TimedOut dieses Objekts um mehr über die Änderung erfahren zugreifen.

WaitForChanged ist eine synchrone Methode. Wenn Sie es in einer Windows-Anwendung verwenden, so reagiert die Anwendung nicht mehr, wenn die Methode auf dem Benutzeroberflächenthread anstelle des Arbeitsthreads verwendet wurde. Weitere Informationen zum Threadingprobleme in Visual Basicfinden Sie unter Threading (C#- und Visual Basic).

Warten, bis Änderungen

  1. Erstellen Sie und konfigurieren Sie die Komponenteninstanz FileSystemWatcher, um das Verzeichnis anzugeben überwacht werden soll. Weitere Informationen finden Sie unter SO WIRD'S GEMACHT: Erstellen von Instanzen von FileSystemWatcher-Komponenten oder SO WIRD'S GEMACHT: Konfigurieren von Instanzen von FileSystemWatcher-Komponenten.

  2. Erstellen Sie in der Code-Editoreine Instanz der Klasse WaitForChangedResult.

                                Dim result As System.IO.WaitForChangedResult
    
        System.IO.WaitForChangedResult result;
    
  3. Geben Sie für die Komponenteninstanz FileSystemWatcher den-Ereignis darauf wartet, indem den Wert der WaitForChanged -Eigenschaft auf einen der Werte der Enumeration WatcherChangeTypes festlegen.

    fileSystemWatcher1.WaitForChanged(System.IO.WatcherChangeTypes.All)
    
            fileSystemWatcher1.WaitForChanged(System.IO.WatcherChangeTypes.All);
    

    Tipp

    Eine überladene Form der Methode WaitForChanged können Sie ein Timeout als zweiten Parameter angeben.

  4. Geben Sie die Aktionen, die Sie nutzen, tritt die Änderung für die Sie ansehen möchten. Weitere Informationen finden Sie unter SO WIRD'S GEMACHT: Erstellen von Handlern für Dateisystemereignisse.

    Der folgende Code veranschaulicht einen Benutzer zu benachrichtigen, den eine Datei gelöscht werden, und das Deleted-Ereignis warten muss. Dieser Code überwacht den persönlichen Ordner des Benutzers.

    Console.WriteLine("Please delete OldNote.txt.")
    Dim directory AsString
    directory = Environment.GetFolderPath(Environment.SpecialFolder.Personal)
    Dim watcher AsNew System.IO.FileSystemWatcher(directory, "OldNote.txt")
    result = watcher.WaitForChanged(System.IO.WatcherChangeTypes.Deleted)
    Console.WriteLine("Thanks for deleting OldNote.txt.")
    
            Console.WriteLine("Please delete OldNote.txt.");
            string directory =
               Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            System.IO.FileSystemWatcher watcher =
               new System.IO.FileSystemWatcher(directory, "OldNote.txt");
            result = watcher.WaitForChanged(System.IO.WatcherChangeTypes.Deleted);
            Console.WriteLine("Thanks for deleting OldNote.txt.");
    

Siehe auch

Aufgaben

SO WIRD'S GEMACHT: Erstellen von Instanzen von FileSystemWatcher-Komponenten

SO WIRD'S GEMACHT: Konfigurieren von Instanzen von FileSystemWatcher-Komponenten

SO WIRD'S GEMACHT: Erstellen von Handlern für Dateisystemereignisse

Konzepte

Einführung in die Überwachung Dateisystemereignisse