FileSystemWatcher перестает работать без сообщения [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 FileSystemWatcher перестает работать без сообщения [дубликат]

Сообщение Anonymous »

Привет, друзья!

Ситуация:
У меня есть небольшой сервис для выполнения простых заданий по обмену файлами, из которых можно переместить файлы. одну систему в другую и выполните поиск и замену/разархивирование. Служба, написанная на C#, использует FileSystemWatcher для проверки наличия новых файлов в папке.
Код:

Код: Выделить всё

private static void Main(string[] args)
{
try
{
InitializeService();
}
catch (Exception ex)
{

}

fsw = new FileSystemWatcher();
fsw.Path = RootPath;
//Watch only directories
fsw.NotifyFilter = NotifyFilters.DirectoryName;

//Add the event functions
fsw.Created += FileSystemEvent;
//fsw.Changed += FileSystemEvent;
fsw.Error += OnError;

//start the listener
fsw.EnableRaisingEvents = true;

Console.WriteLine("Started with path: " + RootPath);

Console.ReadLine();
}
Описание проблемы:
Путь к средству просмотра файлов находится на другом сервере, поэтому я подключаюсь к общему ресурсу.
Время от времени наблюдатель за файлами теряет соединение с каталогом (проблема с сетью, перезагрузка сервера во время окна обслуживания или что-то еще).
Если это происходит, наблюдатель за файлами не подключается повторно к серверу, не выдает исключение или что-либо еще признак того, что он больше не подключен. Просто ничего не делает!

Вопрос
Можно ли что-нибудь сделать, чтобы проверить, не потерял ли FileWatcher соединение?
Потому что теперь мой обходной путь заключается в том, что я перезапускаю сервер каждую ночь с запланированным заданием, сначала проверяю наличие существующих файлов и затем обрабатываю их. Но я думаю, что это не то, что должно быть идеей, если вы используете средство просмотра файлов.

Большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/321 ... ut-message
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»