2010-12-02 138 views
0

我有一个ASP.net网站,我面临会话超时问题。在web.config我已将会话超时设置为480(会话时间为8小时)。但即使如此,会议也不会持续那么久。它在几分钟后熄灭。为什么是这样以及如何修复它?我的网站托管在共享托管服务器上。尽管在web.config中设置会话时间,会话超时

回答

1

默认情况下asp.net中的会话时间为20分钟,我们可以通过设置Web.config文件来更改它。 现在在你的情况下,你将它设置为8小时,但在1分钟内出去。

你知道有几点会议可以超时吗?

* 在Web.Config文件中错误配置时。

* 我们也可以在服务器(IIS)中设置这个时间,所以如果它的默认设置改变了。

* 当会话的总内存高于共享主机中的分配时。

* 当任何页面在运行时发生内部错误时,会话将丢失。

* 当某个或任何进程在运行时正在更改任何aspx文件或web.config文件。

因此请检查所有这些要点。我相信它会解决你的问题...

1

此外,你检查了应用程序池回收选项?

+0

彼得我怎么能检查它?请指导? – haansi 2010-12-03 09:55:45

1

您的托管服务提供商可能在IIS的“回收工作进程”中为您的应用程序池设置了一些较低的值。不知道他们是否可以替你改变,但你可以试着问他们。

0

在web.config文件中配置实际值之前,导致会话超时的原因很多。

其中一个原因是,如果您托管了应用程序,并且在deployemnt后忘记重置应用程序池。

一旦你部署应用程序第一次那么其对应的应用程序池可能会重置dusring应用程序第一次运行。

,或者如果您的应用程序池可能会崩溃,在这个过程之间..

您可以通过转到现在诊断这个问题首先检查你的应用程序池(在高级设置 - 如果托管在IIS应用程序)事件浏览器并检查自定义视图中的日志转到服务器角色,然后通过单击右侧窗格中的查找按钮并在搜索框中粘贴您的应用程序池名称来查找日志。

检查与应用程序池相关的错误或警告消息。

我希望这可以帮你