Несмотря на то, что FileWatcher должен работать на общих ресурсах UNC, у меня были многочисленные проблемы с этим. Поскольку ваша проблема не критична ко времени, я бы создал поток, который просто проверяет наличие файлов, засыпает несколько секунд циклы, пока файлы не исчезнут, и в это время отправляется ваше предупреждение.
Примечание: для запуска в качестве службы требуется, чтобы у запущенного пользователя были также сетевые права на удаленном общем ресурсе.
Обновление: только что сделал быстрый тест в нашей сети. Клиент под управлением Windows 7 сервер под управлением Windows 2008 R2. Добавлено несколько файлов, как маленьких, так и больших. Не было проблем с удалением файлов во время работы кода. Даже без темы. Спи
bool filesDeleted = false;
while (!filesDeleted)
{
DirectoryInfo di = new DirectoryInfo(@"\\server\share\path\");
FileInfo[] files = di.GetFiles();
foreach (var file in files)
{
DateTime created = file.CreationTime;
string fileName = file.Name;
//Do what every you need to check if the two files are still there
}
Thread.Sleep(5000);
}
//Send alert