我在使用 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/