FileSystemWatcher z Sambą w systemie Linux

UżywamFileSystemWatcher na mojej aplikacji C # (działającej w systemie Windows) w celu zaktualizowania w mojej aplikacji plików, które aktualnie przeglądam. Działa dobrze, gdy przeglądam katalog lokalny. Zostałem powiadomiony, gdy nazwa pliku zostanie zmieniona, usunięta lub dodana. Ale na przykład, gdy zmieniam nazwę pliku na dysku sieciowym po raz pierwszy,FileSystemWatcher powiadamia mnie o akcji zmiany nazwy, a następnie, gdy zmieniam nazwę tego samego pliku lub innego pliku,FileSystemWatcher powiadamia mnie o błędzie:

the specified server cannot perform the requested operation.

Następnie FileSystemWatcher nie powiadamia mnie o niczym.

Czasami mogę zmienić nazwę dwa razy, zanim FileSystemWatcher nie powiadomi mnie o niczym ...

Oto mój kod testowy:

    static void Main(string[] args)
    {
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Path = @"N:\prive\defFolder";

        watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite;

        watcher.Changed += new FileSystemEventHandler(watcher_Changed);
        watcher.Created += new FileSystemEventHandler(watcher_Changed);
        watcher.Deleted += new FileSystemEventHandler(watcher_Changed);
        watcher.Renamed += new RenamedEventHandler(watcher_Renamed);
        watcher.Error += new ErrorEventHandler(watcher_Error);

        watcher.EnableRaisingEvents = true;

        Console.Read();
        watcher.Dispose();
    }

    static void watcher_Error(object sender, ErrorEventArgs e)
    {
        Console.WriteLine("error : " + e.GetException().Message);
    }

    static void watcher_Renamed(object sender, RenamedEventArgs e)
    {
        Console.WriteLine("rename success");
    }

    static void watcher_Changed(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine("change success");
    }

questionAnswers(2)

yourAnswerToTheQuestion