会话和静态变量被重置

时间:2019-04-03 00:53:44

标签: asp.net asp.net-mvc session iis configuration

我正在使用ASP Net MVC系统,从一开始我就遇到的问题是我的会话变量和静态变量在大约30-45分钟的一段时间后会重置(但是我不确定它总是发生)。 我已经尝试过的选项: *从配置文件更改会话超时 *检查回收时间 *使用服务器状态会话,而不是进行中 *也许我不记得了 我不知道还可以尝试什么,或者在哪里进行调查,目前我还没有任何线索。在开发过程中尝试功能时确实很烦人。 有什么想法吗?

配置文件

<sessionState timeout="120" />

Pool config

2 个答案:

答案 0 :(得分:0)

据我所知,在IIS 7.0及更高版本中,默认情况下,工作进程在一段时间不活动之后(20分钟)终止。

因此,如果Secret Server在其自己的应用程序池中,则该应用程序池将在一段时间没有请求后停止。

我建议您可以按照以下步骤修改应用程序池设置,以使Web应用程序始终运行,以免丢失会话。

  1. 打开IIS(开始> inetmgr)
  2. 右键单击应用程序池,然后单击“高级设置”。
  3. 在“过程模型”部分下,设置空闲超时(分钟) 选项为0

enter image description here

答案 1 :(得分:0)

不确定这是否是您的问题,但是导致我头撞墙的可能性很大的一种可能性是:您部署的IIS的AppPool最大工作进程数设置为大于1(请注意,上面的@BrandoZhang的屏幕截图)将其设置为1)。静态变量,类甚至ApplicationState不会在进程之间共享。