.net - 为什么 FormsAuthentication.RedirectFromLoginPage() 以 context.Response.Redirect(..., false) 结尾?

标签 .net asp.net asp.net-mvc forms-authentication

我浏览了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/

相关文章:

javascript - 网络表单 : determines which control within updatepanel triggers the refresh

javascript - 类型错误:jquery.validate.js 中未定义验证器

c# - 计算进度百分比

c# - 如何在 IHttpModule 中以 404 结束请求?

C# Mono+Winforms MessageBox问题

asp.net - 如何使用PowerShell确定\Temporary ASP.NET Files\root\{site hash}?

asp.net-mvc - ASP.NET MVC 3 模型的部分验证

c# - JSON.NET DataContractJsonSerializer 和 Newtonsoft JSON 序列化程序有什么区别

.net - 使用 Windows 身份验证的连接字符串

c# - 如何从我的 SOAP 响应中删除额外的结果标记