Server.Transfer和System.Threading.ThreadAbortException

时间:2009-05-08 14:28:09

标签: multithreading exception server.transfer

请参阅http://support.microsoft.com/kb/312629/EN-US/

我也在我的应用中使用reponse.direct,但我没有得到例外。知识库文章建议的解决方法(Server.Execute)对我不起作用。如果我使用Server.Execute,我会从目标页面上的Ajax Toolkit中获得大量的javascript异常,而且我没有深入研究原因。

我的问题 - 你认为只是将这个异常作为一个“已知限制”并继续前进的观点是什么?

我在这个非常具体的情况下使用Server.Transfer的原因是我想要屏蔽实际执行的页面的(真实)目标URL。它运行得很好,除了这个例外(用户从未见过)。

1 个答案:

答案 0 :(得分:5)

确保您没有在异常处理程序(try..catch / finally)中调用Server.Transfer()。

修改:

Server.Transfer在完成时总是引发ThreadAbortException。如果将它包装在异常处理程序中,则应该捕获显式异常类型而不仅仅是“异常”。

请参阅MSDN上的Server.Transfer帮助。以下是有关ThreadAbortException

的信息