У меня есть служба Windows, выполняющая некоторую повторяющуюся работу (вызовы wcf) после программной регистрации на веб-сервере. Все вызовы вызываются через различные потоки, работающие зависимо параллельно, но если, например, соединение потеряно или перезапускается iis, следовательно, управление сеансом inproc указывает мне повторно войти в систему, я хочу обработать это исключение, остановить все другие потоки , распространить исключение до основного потока, повторить попытку входа в систему и в случае успеха сигнализировать о перезапуске всех потоков.
Мое основное приложение - что-то вроде следующего. Я вхожу в систему, я запускаю двух рабочих, и механизм обработки исключений в основном потоке находится на рассмотрении:
IFileManagerService fileManagerService = new FileManagerService();
IJobManagerService jobManagerService = new JobManagerService();
WindowsServiceSettings.AuthenticationService.Login(WindowsServiceSettings.Credentials.Split(':')[0], WindowsServiceSettings.Credentials.Split(':')[1]);
WriteToLogFile("Service Started at " + DateTime.Now);
fileManagerService.Start();
jobManagerService.Start();
Могу ли я реализовать это с помощью ручек ожидания и как я собираюсь?
Большое спасибо!