如何在SessionState中的[START]超时计时器中执行某些操作

时间:2011-11-08 09:12:20

标签: c# asp.net timeout session-state

我使用以下线程获取在线用户数:

How to show number of online users / visitors for ASP.NET website

似乎每件事都工作正常! 但我的重点是SessionState的超时:

<system.web>

<sessionState mode="InProc" cookieless="false" timeout="20" />

</system.web>

我设置超时1分钟,以获得最佳在线用户的结果! 但这里有一个问题!
我想让我的用户在网站上活动大约2到3个小时,因此他们不需要一次又一次地登录网站。
有没有办法在SessionState的start超时做某事?

感谢davance

1 个答案:

答案 0 :(得分:1)

如果您希望让用户登录,但又不想使用会话状态来存储他们的登录信息,那么您将不得不依赖其他一些信息来检查用户是谁。

这可能需要写出一个cookie,然后当一个未记录的(就会话状态而言)用户进入网站尝试使用cookie中的信息自动登录它们。

使用一个out of proc会话服务器(例如SQL Server)然后将会话超时设置为180分钟会更容易(并且可能更安全,更容易维护,并且在许多其他方面更好)。 / p>