有几个答案解释Is Response.End() considered harmful? 但是我没有找到明确的确认, 在Response.End ThreadAbortException之后,ASP.Net线程会发生什么。
Eric Lippert在评论中表示 Response.End () doesn't abort current thread 注意到“线程只会回到线程池中。”但他承认,他已经超过10年没有使用线程模型了。在CodeProject文章Exploration of approaches to handle ThreadAbortException with Response.Redirect中 有人告诉他们 “应终止当前线程(负责当前请求)(并返回线程池),”, 但后来有人提到过 ASP.NET工作进程可能面临线程饥饿。
有人可以提供任何引用来澄清线程
有类似的(不是Asp.net特定的)未回答的问题Aborting a thread-pool thread
顺便说一句,有一种流行的观点,即ThreadAbortException可以被应用程序代码捕获,但是在catch块的末尾重新抛出(源自MSDN Thread.Abort Method)。然而,这是不正确的(至少它并不总是正确的)。 我在我们的应用程序中找到了代码,在Response.End捕获并“吃掉”之后 ThreadAbortException,继续处理而不重新抛出。