[英]Setting time for a session to timeout
我知道这个问题在这里已经问了很多,但是人们提供的解决方案似乎都不对我真正有用。 我试图延长会话在我的网站上保持活动状态的时间,我尝试使用以下方法修改web.config:
<sessionState timeout="45"/>
并在后面的代码中设置Session.Timeout,但是这些功能按预期工作。 我希望使会话尽可能长地持续,但是到目前为止,它们持续约10分钟,直到我开始遇到问题为止。
如果您的会话状态设置为InProc,并且您有多个Web服务器或一个Web花园,则您的会话状态很容易丢失。
有关更多详细信息,请参见MSDN文档 。
Asp.Net会话管理有两种模式。
InProc
会话丢失是此模式下的常见问题。 一段时间后,IIS会继续回收工作进程,这会导致会话数据丢失。
请查看下面的链接以获取更多信息。
下面的CodeProject文章中有解决此问题的方法。
OutProc
在此会话管理模式下,web.config的设置将正常工作。 请查看下面的链接以获取更多详细信息。
在WebConfig中:
<configuration>
<system.web>
<sessionstate timeout="20" />
</system.web>
</configuration>
默认情况下为20分钟。 根据您的需要进行更改。
在IIS中检查
打开IIS,单击“应用程序池”。
选择您的应用程序的应用程序池。
右键单击->选择属性。 在“性能”选项卡中,将“空闲超时”设置为“空闲.....分钟后关闭工作进程的所需分钟”。
之后,重新启动IIS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.