设置会话超时的时间

时间:2011-12-08 20:39:32

标签: c# asp.net

我知道这个问题在这里已被提出很多问题,但人们提供的解决方案似乎都没有给我带来帮助。我试图延长会话在我的网站上保持活动的时间长度我尝试使用以下方法修改web.config:

  <sessionState timeout="45"/> 

在后面的代码中设置Session.Timeout,但是按照预期的那样设置了下面的内容。我希望会议能够尽可能长久地进行,但截至目前为止,它们会在我开始出现问题之前持续约10分钟。

2 个答案:

答案 0 :(得分:4)

如果您的会话状态设置为InProc并且您有多个Web服务器或Web园,那么您的会话状态很容易丢失。

有关详细信息,请参阅MSDN documentation

答案 1 :(得分:2)

Asp.Net会话管理有两种模式。

<强>是InProc

会话丢失是此模式中的常见问题。 IIS会在一段时间后继续回收工作进程,这会导致会话数据丢失。

请查看以下链接,了解更多信息。

Check this

CodeProject下面的文章解决了这个问题。

Prevent Session Timeout in ASP.NET

<强> OutProc

在此会话管理模式下,web.config的设置将正常运行。有关详细信息,请查看以下链接。

check this

在WebConfig中:

<configuration>
  <system.web>
     <sessionstate timeout="20" /> 
  </system.web>
</configuration>

默认为20分钟。根据您的需要进行更改。

在IIS中检查

  1. 打开IIS,单击“应用程序池”。

  2. 选择应用程序     适合您应用的游泳池。

  3. 右键单击 - &gt;选择属性。在     在Performance选项卡中,将idle timeout设置为         “闲置后关机工作流程”所需的分钟数         .....分钟“。

  4. 之后重启IIS。

    Why Session.Timeout is not working for your website