ich habe ein kleines Problem mit dem Verhalten des FilesystemWatchers. Bekanntlich werden für eine Datei die Events häufig mehrfach gefeuert (Es geht nur um das OnCreated).
Ich würde das Event aber gerne nur einmal verarbeiten, bis die Datei wieder von mir "freigegeben" wurde.
Ich habe im Handler ein Hashset erstellt und füge den Pfad hinzu. Sollte das fehlschlagen, würde die eigentliche Aktion nicht ausgelöst werden.
private HashSet<string> files = new HashSet<string>();
private void FileCreated(object sender, FilePathEventArgs e)
{
try
{
if (files.Add(e.FilePath))
//aktion();
}
catch (Exception ex)
{
//Test
}
}
Die Add Funktion ist natürlich nicht atomar und die Events werden so schnell gefeuert, das die Aktion dennoch 2 Mal ausgeführt wird.
Hat jemand eine andere Idee?
Danke