FileSystemWatcher с Samba в Linux

Я используюFileSystemWatcher в моем приложении C # (запущенном в Windows), чтобы обновить в моем приложении файлы, которые я сейчас просматриваю. Это хорошо работает, когда я просматриваю локальный каталог. Я получаю уведомление, когда файл переименовывается, удаляется или добавляется. Но, например, когда я в первый раз переименую файл на сетевом диске,FileSystemWatcher уведомляет меня о действии переименования, а затем, когда я переименовываю тот же файл или другой файл,FileSystemWatcher уведомляет меня об ошибке:

the specified server cannot perform the requested operation.

Тогда FileSystemWatcher не уведомит меня ни о чем.

Иногда я могу дважды переименовать, прежде чем FileSystemWatcher не сообщит мне ничего ...

Вот мой тестовый код:

    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");
    }

Ответы на вопрос(2)

Ваш ответ на вопрос