Ich muss ein Programm erstellen, das Änderungen in der Dateigröße überwacht. Ich habe bereits einen einfachen Windows-Dienst und Dateisystemwächter gemacht, so dass ich jetzt mit dem Konzept vertraut bin. Ich habe auch einen Code erstellt, der nach der Dateigröße sucht (in einer Formularschaltfläche), aber noch nicht in meinem Dateisystemwächter implementiert wurde. Wie erstelle ich einen Windows-Dienst mit einem Dateiwächter, der die Dateigröße überwacht? Muss ich einen Dateisystemwächter in den Windows-Dienst einfügen und den Watcher über die OnStart-Methode aufrufen?
Wenn Sie einen Windows-Dienst erstellen, sollten Sie dies programmgesteuert tun. Normalerweise behalte ich Formulare außerhalb meiner Dienste und mache eine separate Schnittstelle für die Kommunikation. Jetzt muss der FileSystemWatcher kein Ereignis mehr nur auf seine Größe überwachen. Daher sollten Sie eine Methode erstellen, die mit FileSystemWatcher.Changed verknüpft ist, um nach Änderungen an vorhandenen Dateien zu suchen. Deklarieren und initialisieren Sie das Steuerelement in Ihrer OnStart-Methode und binden Sie die Ereignisse ebenfalls zusammen. Führen Sie in Ihrer OnStop-Methode Bereinigungscode aus. Es sollte ungefähr so aussehen:
%Vor%Beachten Sie außerdem, dass der FileSystemWatcher mehrere Ereignisse für eine einzelne Datei auslöst. Wenn Sie debuggen, sollten Sie nach Mustern suchen, um sie zu umgehen.
Sie können Ihr Dateisystemwächter-Objekt einfach in der OnStart-Methode aktivieren, indem Sie
setzen %Vor%Behandle dann das Ereignis. Das sollte es tun.
Tags und Links c# windows-services filesystemwatcher