c# - 是否有什么东西阻止 Response.Redirect 在 try-catch block 内工作?

标签 c# .net visual-studio-2008 try-catch

我在使用 response.redirect() 时遇到了一些奇怪的错误,并且项目根本没有构建。当我删除周围的 try-catch block 时Response.Redirect() 所在的代码块正常工作..

只是想知道这是一个已知问题还是什么...

最佳答案

如果我没记错的话,Response.Redirect() 会抛出异常以中止当前请求(ThreadAbortedException 或类似的东西)。所以您可能会捕获到该异常。

编辑:

KB article描述了这种行为(也适用于 Request.End()Server.Transfer() 方法)。

Response.Redirect() 存在重载:

Response.Redirect(String url, bool endResponse)

如果您传递 endResponse=false,则不会抛出异常(但运行时将继续处理当前请求)。

如果endResponse=true(或者如果使用其他重载),则抛出异常并立即终止当前请求。

关于c# - 是否有什么东西阻止 Response.Redirect 在 try-catch block 内工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063625/

相关文章:

C# XSLT 转换内存不足

c# - ConfigureAwait(false) 和库代码中的事件

c# - 必须使用关系流畅的 API 或数据注释显式配置此关联的主体端

c# - VS2008 编译器中的错误 : DLL cannot be found

.net - Visual Studio 中的哪个程序允许我查看 DLL 以查看其 API?

c# - 用户信息端点未找到 openid 范围

c# - Use C# to FTP file to mainframe including dataset - 将 FTP 脚本转换为 FtpWebRequest 代码

.net - 如何使用 ClickOnce 安装 COM

visual-studio-2008 - 在Visual Studio的哪里设置$ OutDir之类的标志?

c# - 当无法到达取消 token 时,如何中止或终止 TPL 任务?