我有一个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等),但我很难弄清楚这是如何发生的。