今天看到 有关终止线程的一个问题,让我想起了Response.Redirect 也有类是的问题。

如果使用 try 、catch 处理包含Response.Redirect  语句代码,总是能捕捉到异常:线程正在中止,
其实不仅仅Response.Redirect 会,Response.End 和 Server.Transfer 也是一样的情况,本质的原因的原因是Response.End 方法停止页的执行,并将该执行变换到应用程序的事件管线中的 Application_EndRequest 事件, Response.End 后面的代码行将不执行。通常认为Response.End 方法是线程的非正常结束,因此MS就在内部抛出ThreadAbortException 异常,而Response.Redirect 和 Server.Transfer 这两种方法都在内部调用 Response.End。

关于 的解决方案见MS KB:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;312629

关于 为什么有些方法一定要抛出异常,有关终止线程的一个问题 这里有非常详细的讨论。^_^

相关文章:

  • 2021-07-17
  • 2021-05-28
  • 2021-09-11
  • 2022-01-19
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案