Можно ли использовать обработчик UnhandledException в службе Windows?
Обычно я бы использовал пользовательский встроенный компонент обработки исключений, который регистрирует журнал, домашний телефон и т.д. Этот компонент добавляет обработчик к System.AppDomain.CurrentDomain.UnhandledException, но насколько я могу судить об этом, ничего не может добиться от службы Windows поэтому я получаю этот шаблон в моих 2 (или 4) точках входа в службу:
Protected Overrides Sub OnStart(ByVal args() As String)
' Add code here to start your service. This method should set things
' in motion so your service can do its work.
Try
MyServiceComponent.Start()
Catch ex As Exception
'call into our exception handler
MyExceptionHandlingComponent.ManuallyHandleException (ex)
'zero is the default ExitCode for a successfull exit, so if we set it to non-zero
ExitCode = -1
'So, we use Environment.Exit, it seems to be the most appropriate thing to use
'we pass an exit code here as well, just in case.
System.Environment.Exit(-1)
End Try
End Sub
Есть ли способ, которым мой пользовательский компонент обработки исключений может справиться с этим лучше, поэтому мне не нужно заполнять мой OnStart грязной обработкой обработки исключений?