Global.asax и обработка исключений, возникающих в порожденных потоках - PullRequest
3 голосов
/ 30 октября 2008

У меня есть обработчик исключений. В моем приложении asp.net. Это написано в Global.asax. В методе Application_Error ().

Работает для исключений, возникающих в контексте страниц и классов, которые вызываются в результате запроса к приложению. Но если я создаю поток, в результате запроса (или другой причины, такой как таймер на основе приложения) и исключения в этом потоке. Это не обрабатывается Global.asax. Это заставляет рабочий процесс Asp.net убить мое приложение. Мертв. Если я подключаюсь к обработчику AppDomain.CurrentDomain.UnhandledException, я вижу исключение, которое возникает в моем потоке, но, увы, это слишком поздно. И приложение все еще умирает. Мертв. Любой совет?

1 Ответ

3 голосов
/ 30 октября 2008

исключений во вторичных потоках не сообщается событиями необработанных исключений

используйте SafeThread для своих вторичных потоков

предостережение: я являюсь автором статьи SafeThread и продукта для мониторинга приложений CALM

...