2009-06-06 65 views

回答

3
Session.Timeout=5 

意味着超时5分钟。我不认为你可以将其设置为无穷大,但可以将其设置为大约数目。

+0

我可以设置的最大值是多少? – George2 2009-06-06 05:07:19

+1

“允许的最小值为1分钟,最大值为1440分钟。” - http://msdn.microsoft.com/en-us/library/ms525473.aspx – Chris 2009-11-17 14:45:26

2

您可以在几分钟内指定一个Session.Timeout值。 或者让你的页面每n分钟轮询一次服务器(一个javascript函数可以做到这一点,或者你可以有一个假设的iframe,其中的refresh-content设置为每n分钟调用一次虚拟asp页面)。

这是更好的(虽然轮询可以在您的服务器上征税,不要频繁轮询),因为如果您将会话超时设置为非常高(或无限...)值,您将最终使用asp崩溃与内存不足错误(我猜应用程序池将重新启动)。

当用户在超时过期之前调用应用程序上的任何asp页面时,会话保持活动状态。如果你的用户关闭了它的浏览器,你的应用程序将不会得到通知,asp将不得不等待超时才能清理内存。这意味着会话将在用户离开后的n分钟内保留在内存中,n表示超时。

有没有必要有一个无限的会话(它可以通过轮询解决)和调整超时参数将使您的应用程序更脆弱。

如果你想存储信息很长一段时间(基本上,对于你的应用程序的整个生命周期),你最好使用Application对象,这是一个字典就像Session,但是是一个单例,可以通过访问服务器上的任何人。