如果用户在特定时间内不与网页交互,如何使ASP Session失效?

时间:2014-10-29 09:35:38

标签: c# asp.net c#-4.0

我正在使用带有C#的asp.net作为我的项目。

如果用户在特定时间内不与网站互动,我希望过期Session(例如,如果用户在未来10分钟内不与网站互动,则会话过期。)

我对web.config使用session timeout配置,如下所示。

<sessionState mode="InProc" timeout="10" />

问题:但每隔10分钟就会过期session。即使用户正在与网站进行交互,结果是用户必须在每10分钟后一次又一次地登录。

但是,我希望session在10分钟后到期。如果用户在10分钟内没有与网站互动。

2 个答案:

答案 0 :(得分:3)

您使用的是身份验证方法吗?

如果你是,你可以添加属性

SlidingExpiration="true"

进入配置,如果&gt;它会重置超时已经过了一半的时间

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.slidingexpiration(v=vs.110).aspx

答案 1 :(得分:0)

你应该检查一些事情

  

1:尝试使用sessionstate mode = stateserver。

     

2:您的IIS应用程序池重置或重新启动时间。您的应用程序池是否在修复时间段后重新启动或回收?

     

3:检查你是否正在使用其他会话超时设置。它只是在web.config文件中。

     

4:尝试使用Server.Tranfer而不是Response.Redirect()(试试吧。如果上面不起作用)