【发布时间】:2013-02-08 07:22:26
【问题描述】:
我进行了搜索,但没有找到该问题的任何具体答案。 在会话到期之前,我如何在服务器中获得价值? 我的会话设置:
//超时例如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 分钟点。
我如何才能获得到期前的剩余会话时间?
【问题讨论】:
标签: asp.net .net session timeout