是否有必要在Response.Redirect(url)
之后调用Response.End()更新
感谢所有答案。因为有些答案说这是必要的而有些人说没有,所以我搜索了更多内容并在msdn的评论中找到了以下内容:
重定向调用End,在完成时引发ThreadAbortException异常。
答案 0 :(得分:11)
Response.Redirect
为您致电Response.End
我不同意其良好做法 - 这会导致误导性代码。
MSDN:
重定向调用End,在完成时引发ThreadAbortException异常。
HTTP法则解释说,一旦发送响应,服务器就完成了(不再调用代码)
答案 1 :(得分:4)
Response.Redirect允许您调用Response.End。
Response.Redirect(url, true);
答案 2 :(得分:2)
没有必要调用Response.End,事实上如果你认为你需要结束响应,请使用Response.Redirect的重载(url,endResponse)
答案 3 :(得分:0)
如果您传递true作为第二个参数,则不会:http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.80).aspx
答案 4 :(得分:-1)
在响应结束时调用Response.End()仍然是一个好习惯。它当然不会伤害任何东西。