为什么我的ThreadAbortException与C#6表现不同?

时间:2016-04-27 21:34:30

标签: asp.net-mvc c#-5.0 c#-6.0 threadabortexception

我有一个ASP.NET MVC(5.2.3)应用程序,在授权期间使用Response.Redirect(我知道这很糟糕,我打算解决这个问题,但幽默我的问题)。我们知道这会引发ThreadAbortException,但是在IIS需要处理异常之前,管道会捕获(并且可能是ResetAbort())。

将我的构建服务器更改为使用VS2015版本的MSBuild(而不是2013版本)进行构建后,不再处理这些异常,并且在调用了5个Response.Redirect实例后我的appdomain关闭(根据appdomain设置) - 5分钟内5个未处理的异常==禁用应用程序池。)

我无法弄清楚为什么只是更改编译器版本会更改运行时的行为,以便不再处理ThreadAbortExceptions。我没有更改.net框架版本 - 它保持在4.5。

我有许多解决方案可以尝试(升级框架版本,不要调用Redirect等),但我很难弄清楚这是如何发生的。

0 个答案:

没有答案