Task.Factory.StartNew与未捕获的异常杀死w3wp?

Vis*_*ize 12 c# iis concurrency w3wp c#-4.0

我只是转换我的一些网站的代码使用QueueUserWorkItemTask.Factory.StartNew

我有一些错误的代码抛出异常,它最终关闭w3wp.在Windows Server 2008 R2,x64上运行IIS 7.5

                Task.Factory.StartNew(() =>
                {
                    MethodThatThrowsException();
                }
Run Code Online (Sandbox Code Playgroud)

应用程序:w3wp.exe Framework版本:v4.0.30319描述:由于未处理的异常,进程已终止.异常信息:System.AggregateException Stack:at System.Threading.Tasks.TaskExceptionHolder.Finalize()

例外:System.AggregateException

消息:通过等待任务或访问其Exception属性未观察到任务的异常.结果,终结器线程重新抛出了未观察到的异常.

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

InnerException:System.Data.SqlClient.SqlException

我会假设一个例外会生成一个事件日志而没有杀死w3wp.这是一个错误的假设吗?

Lex*_* Li 9

未处理的异常导致IIS工作进程崩溃.这是设计的.http://support.microsoft.com/kb/911816

因此,您应该正确处理异常.