Подтвердить что ты не робот

Task.Factory.StartNew с неотображаемыми исключениями убивает w3wp?

Я просто перевел часть кода своего сайта с помощью QueueUserWorkItem to Task.Factory.StartNew

У меня есть плохой код, который бросил исключение, и в конечном итоге он отключил w3wp. Запуск IIS 7.5 на Windows Server 2008 R2, x64

                Task.Factory.StartNew(() =>
                {
                    MethodThatThrowsException();
                }

Приложение: w3wp.exe Версия Framework: v4.0.30319 Описание: Процесс был прерван из-за необработанного исключения. Информация об исключении: System.AggregateException стек:    в System.Threading.Tasks.TaskExceptionHolder.Finalize()

Исключение: System.AggregateException

Сообщение: исключение (-и) задачи не наблюдалось ни в ожидании задачи, ни при доступе к ее свойству Exception. В результате незаметное исключение было восстановлено потоком финализатора.

StackTrace: в System.Threading.Tasks.TaskExceptionHolder.Finalize()

InnerException: System.Data.SqlClient.SqlException

Я бы предположил, что исключение создало бы журнал событий, а НЕ убили w3wp. Это неправильное предположение?

4b9b3361

Ответ 1

Необработанные исключения приводят к сбою рабочего процесса IIS. Это по дизайну. http://support.microsoft.com/kb/911816

Следовательно, вы должны правильно обрабатывать исключения.