asp.net:response.redirect-处理threadabortedexception

asp.net:response.redirect-处理threadabortedexception,asp.net,Asp.net,当使用response.redirect(url)时,它会抛出threadabortedexception。使用重载并将endResponse设置为false不会引发异常,但会让执行完成 捕获并忽略threadabortedexception还是使用重载并将endResponse设置为false更好 重定向调用后不需要执行其他代码,并且所有资源都已清理完毕。global.asax中有错误日志记录和默认操作,因此不可能允许异常冒泡。我也经历过这种情况。在这种情况下,您可以使用重载。可以捕获,但无法

当使用response.redirect(url)时,它会抛出threadabortedexception。使用重载并将endResponse设置为false不会引发异常,但会让执行完成

捕获并忽略threadabortedexception还是使用重载并将endResponse设置为false更好


重定向调用后不需要执行其他代码,并且所有资源都已清理完毕。global.asax中有错误日志记录和默认操作,因此不可能允许异常冒泡。

我也经历过这种情况。在这种情况下,您可以使用重载。

可以捕获,但无法处理

当调用中止时 方法销毁一个线程,公共 语言运行时抛出 线程异常。 ThreadAbortException是一种特殊的 可以捕获的异常,但它 将自动再次在 挡块的末端


这就是ASP.NET的工作方式。按设计重定向抛出线程中止异常,只需忽略它

使用重载的含义是什么?这个应用程序的要点是对传入的url参数执行一些逻辑,然后重定向。它必须尽可能快。没有隐含的含义,特别是因为没有其他代码需要像您所说的那样执行。根据@Aliostad发布的内容,我认为这将比捕获异常更安全。您是否尝试过设置bool标志的重定向,紧接着是response.end?response.end是抛出ExceptionTrange的东西,它实际上并没有这样做