获取会话在ASP.NET中优雅地过期
发布时间:2020-12-15 20:28:58 所属栏目:asp.Net 来源:网络整理
导读:我需要一种方法来告知ASP.NET“重定向到页面”之前/之后“杀死当前会话并重新开始”. 这是我要做的: 1)在ASP.NET应用程序的母版页(或Global.asax)中检测会话何时到期. 2)如果会话已过期,请将用户重定向到页面,告知他们会话已过期.在此页面上,它将等待5秒钟,
我需要一种方法来告知ASP.NET“重定向到页面”之前/之后“杀死当前会话并重新开始”.
这是我要做的: 1)在ASP.NET应用程序的母版页(或Global.asax)中检测会话何时到期. 2)如果会话已过期,请将用户重定向到页面,告知他们会话已过期.在此页面上,它将等待5秒钟,然后将用户重定向到应用程序的主页面,或者他们可以点击一个链接,如果他们愿意,尽快到达. 3)用户到达主页,再次开始使用应用程序. 好的,到目前为止,我有步骤1和2覆盖.我有一个通过使用IsNewSession属性和ASP.NET会话ID cookie值来检测会话到期的功能.如果它检测到过期的会话重定向,则等待五秒钟,然后TRIES进入主页面. 问题是当它尝试重定向时,它会访问主页面中的一部分来检测已过期的会话,并返回true.我尝试调用Session.Abandon(),Session.Clear(),甚至将会话设置为NULL,没有运气. 有人在此之前不得不面对这个问题,所以我对社区有信心有一个很好的解决方案.提前致谢. 解决方法
您正在描述的问题发生是因为asp.net正在重用sessionid,如果sessionid仍然存在于auth cookie中,当您调用abandon()时,它将重新使用它,则需要显式创建一个新的sessionid afaik:
HttpCookie mycookie = new HttpCookie("ASP.NET_SessionId"); mycookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(mycookie); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 最初在使用AuthorizeAttribute时设置Return
- asp.net-mvc – 如何填充mvc剃刀部分视图
- 悟透JavaScript
- asp.net-mvc – MVC3 Actionlink重定向到错误的控制器
- asp.net – 设置gridview标题颜色
- asp.net-mvc – 将依赖项注入验证属性Web Api Asp.Net Core
- asp.net-mvc-3 – 在mvc 3中上传成功的图像,但编辑图像时会
- asp.net-mvc – Asp.Net MVC使用来自JQuery UI选项卡的ajax
- asp.net – Linux或OS X中的Web API 2.1
- asp.net – 如何告诉IIS 6将.NET版本设置为2.0(不是1.1)创建
推荐文章
站长推荐
- asp.net-mvc – DotNetOpenAuth简单演示,MVC和Ra
- ASP.NET设计FTP文件上传的解决方案
- asp.net – 在构造函数asp net中访问WebControls
- asp.net – 如何在Web部署发布后在服务器上运行.
- ASP.NET Core 使用Swagger
- 在ASP.NET MVC中的jQuery与MicrosoftAjax
- asp.net-mvc – 具有Repository,Service Layer和
- asp.net – .NET中每个SQL语句的SQL存储过程?
- asp.net-mvc – 在嵌套内容的区域上使用_ViewSta
- asp.net-mvc – asp.net mvc – 需要存储当前请求
热点阅读