ASP.NET应用程序池Reciclying注销用户

时间:2010-01-10 22:27:20

标签: asp.net authentication

我在ASP.NET 3.5中使用表单身份验证。

我注意到,当我的应用程序池回收时(每1.5小时),用户身份验证的wuth表单身份验证(具有身份验证cookie)已经被删除,必须重新登录。

如何避免?

2 个答案:

答案 0 :(得分:3)

您将会话模式设置为InProc,这意味着它与该W3WP实例绑定并在重新启动时刷新。 (至少在IIS6上,不确定IIS7)

改为使用StateServer或SqlServer。

Check the MSDN Documentation about sessionState,特别是关于Session-State Modes的文章。

编辑: Paulo做了一个很好的评论:InProc会话可以存储几乎所有对象,而StateServer和SqlServer要求它们为Serializable。另外,我想补充说它们速度较慢 - 你无法击败InProc Sessions的速度,因为它们存储在内存中。另一方面:如果您需要为应用程序添加负载平衡,使用State / SqlServer将使您受益。所有模式都有利有弊,你必须在这里挑选毒药。

答案 1 :(得分:1)