我有一个ASP.net网站,我正面临会话超时问题。在web.config
中,我将会话超时设置为480(会话时间为8小时)。但即便如此,会议也不会停留那么久;它会在几分钟后消失。为什么这样以及我如何解决它?我的网站托管在共享托管服务器上。
答案 0 :(得分:1)
默认情况下,asp.net中的会话时间为20分钟,我们可以通过设置Web.config文件来更改它。 现在,在您的情况下,您将其设置为8小时,但在1分钟后熄灭。
你知道会话可以超时吗?
* )在Web.Config文件中错误配置时。
* )我们也可以在服务器(IIS)中设置此时间,因此如果更改了其默认设置。
* )当会话的总内存高于共享主机中的分配时。
* )当任何页面中的运行时出现内部错误时,会话将会丢失。
* )当某个或任何进程正在更改运行时添加任何aspx文件或web.config文件时。
所以检查所有这些。我相信它会解决你的问题...
答案 1 :(得分:1)
另外,您是否检查过应用程序池回收选项?
答案 2 :(得分:1)
您的托管服务提供商可能在IIS的“回收工作进程”中为您的应用程序池设置了一些低值。不确定他们是否可以为你改变,但你可以尝试问他们。
答案 3 :(得分:0)
在web.config文件中配置实际值之前,导致会话超时的原因有很多。
其中一个原因是,如果您托管了应用程序并忘记在deployemnt之后重置应用程序池。
或
首次部署应用程序后,第一次运行应用程序可能会重置其相应的应用程序池。
或者您的应用程序池可能会在进程之间崩溃..
您可以首先检查您的应用程序池(在高级设置中 - 如果您在IIS中托管应用程序),现在转到事件查看器并检查自定义视图中的日志转到服务器角色,然后通过单击查找日志在右侧窗格中找到按钮,然后在搜索框中粘贴您的应用池名称。
检查与应用程序池相关的错误或警告消息。
我希望这个马可以帮助你