保持ASP.Net Session活跃的最佳方法

时间:2009-04-29 05:48:01

标签: asp.net asp.net-mvc session

在用户注销之前,保持asp.net或asp.net mvc会话处于活动状态的最佳方法是什么?

*即使在浏览器或计算机重新启动后,用户也应该能够激活会话...

换句话说,实现REMEMBER ME的最佳方法是什么......

4 个答案:

答案 0 :(得分:2)

您可以将超时设置设置为更高的值,但是您无法区分由超时引起的session_end或结束其会话的用户。

您的问题的解决方案可能是在Global.asax的session_start方法中恢复用户的会话。

答案 1 :(得分:2)

您可以使用成员资格提供程序实现此目的,并在用户浏览器中设置cookie文件并检查其身份验证

答案 2 :(得分:2)

另一个想法是每隔一分钟通过iframe / ajax / image标签在后台发送保持活动请求。

答案 3 :(得分:1)

能够执行此操作的最佳方法是在您的身份验证策略中使用Cookie来指示用户已登录。将您的网站设置为使用表单身份验证,并设置相关属性以使用Cookie。它可以在您的Web.config文件中完成:

<authentication mode="Forms">
    <forms loginUrl="Login.aspx" 
       protection="All" 
       timeout="30" 
       name="AppNameCookie" 
       path="/FormsAuth" 
       requireSSL="false" 
       slidingExpiration="true" 
       defaultUrl="default.aspx"
       cookieless="UseCookies"
       enableCrossAppRedirects="false"/>
</authentication>

欲了解更多信息,请阅读:How To: Use Membership in ASP.NET 2.0