我浏览了FormsAuthentication的源代码,发现它以
结尾context.Response.Redirect(strUrl, false);
'false'参数代表“不终止当前页面的执行”。
为什么调用 FormsAuthentication.RedirectFromLoginPage() 不需要终止查看当前页面?调用此方法后正确的行为是什么?
最佳答案
将“endResponse”设置为 true 意味着 Response.Redirect()
调用还会强制调用 Response.End()
。
Response.End()
将立即将代码执行转移到 Application_EndResponse 事件,并在一切结束时引发 ThreadAbortException
。
基本上,如果将参数保留为 false,则会更干净地“关闭”响应。如果您可以将方法的逻辑构造为基本上在 Response.Redirect() 调用之后立即完成,则可以避免强制 Response.End() 时发生的所有奇怪的事情。
关于.net - 为什么 FormsAuthentication.RedirectFromLoginPage() 以 context.Response.Redirect(..., false) 结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038795/