asp.net – Session Timeout .NET
发布时间:2020-05-23 03:12:11 所属栏目:asp.Net 来源:互联网
导读:我搜索了但是我找不到这个问题的具体答案. 在会话到期之前,如何在服务器中获得剩余时间? 我的会话设置: //超时,例如10分钟. authentication mode=Forms forms name=.ASPXAUTH_External loginUrl=Authentication/Unauthorized.aspx protection=All timeout=1
|
我搜索了但是我找不到这个问题的具体答案.
//超时,例如10分钟. <authentication mode="Forms"> <forms name=".ASPXAUTH_External" loginUrl="Authentication/Unauthorized.aspx" protection="All" timeout="10" path="/" slidingExpiration="true" defaultUrl="~/Pages/home.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/> </authentication> <sessionState mode="InProc" timeout="10"> </sessionState> 我得到初始值(它会得到10 * 60 = 600秒): SessionStateSection sessionSection = (SessionStateSection)WebConfigurationManager.GetSection("system.web/sessionState");
countdown.Text = sessionSection.Timeout.TotalSeconds.ToString();
但是当会话时间少于一半时,用户会做一些动作.我得到初始值600,但它不等于左会话时间,因为“slidingExpiration”增加了一些时间(我不知道多少),但不会将会话剩余时间重置为开始10分钟. 如何在到期前获得剩余的会话时间? 解决方法我发现会话到期的时间我可以这样:DateTime dateNow = DateTime.Now;
if (HttpContext.Current.User.Identity is FormsIdentity)
{
HttpCookie authCookie = this.Context.Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
double leftSeconds = (authTicket.Expiration - dateNow).TotalSeconds;
// Control in MasterPage,where I setting value ant then taking for JavaSript to CountDown message
countdown.Text = leftSeconds > 0 ? leftSeconds.ToString() : "0";
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 无法让defaultRedirect工作
- asp.net-mvc – 嵌套属性的模型绑定在asp.net mvc中
- 字符串 – 自定义Asp.net MVC 3编辑器模板没有被使用
- asp.net-mvc – ASP.NET MVC – 我可以为同一个动作创建多个
- 将“onclick”属性添加到asp.net下拉列表项
- asp.net-mvc – 使用输出缓存和其他动作过滤器
- asp.net-mvc-3 – 如何在ASP .NET MVC 3中验证与另一个值相
- asp.net-mvc – 具有IE条件注释的MVC4捆绑/缩小
- asp.net-mvc – 为什么应该使用HTTP POST或DELETE而不是GET
- asp.net – 401客户端’协商’,服务器’协商,NTLM’调用WCF
