2011-12-08 37 views
1

我知道这个问题已经被问了很多关于这里,但没有提供这好像人的解决方案,真正为我工作。我想延长时间长度会议在我的网站保持活跃我试图修改web.config中有:设置时间会话超时

<sessionState timeout="45"/> 

背后在代码中设置查看Session.Timeout但这些预计的效果的幽冥。我想获得的会话持续尽可能长的时间,但截至目前,他们持续约10分钟前,我开始有问题。

+3

默认的超时时间是20分钟,所以如果你在10分钟后看到的问题,这似乎表明另一个问题。 –

+3

“在我开始出现问题之前”并不完全有用于描述问题。通常会话状态使用滑动到期,因此建议将取决于“问题”的类型。 –

+0

你碰巧是表单验证用户吗? – TheGeekYouNeed

回答

4

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

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

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. 右键 - >选择属性。在 性能选项卡,“在空闲 .....分钟后关闭工作进程”设置空闲时间为您 期望分钟。

之后重新启动IIS。

Why Session.Timeout is not working for your website