随机会话超时IIS / ASP

时间:2016-10-06 10:28:43

标签: c# asp.net session iis timeout

我完全迷失了,试图解决这个问题。它已持续数月。会话值只会丢失。我检查主页上的Session [" uid"]以强制用户登录页面。

系统:Windows Server 2008 R2 Enterprise

IIS 7.5

.net配置中的.Net Framework 4.5

应用程序池.Net Framework V4.0

应用程序池超时设置为标准1740

不是网络农场。

会话在网络配置中:

<sessionState timeout="60"  mode="StateServer"></sessionState>

我将模式更改为StateServer,认为它是应用程序池随机回收导致其松散会话

我查看这篇文章:

Losing Session State

我亲自测试过。在一个页面上,根据国家/地区选择(updatepanel)加载国家/地区和城市......随机它只会将我发送到国家/地区更改的登录页面。这在改变之间没有延迟。改变,改变,改变......然后会话[&#34; uid&#34;]丢失。

我读到了IIS如何管理会话:

https://abhijitjana.net/2010/03/14/beginner%E2%80%99s-guide-how-iis-process-asp-net-request/

似乎无法在那里找到答案。

然后我开始收到应用程序池最大值达到的错误。 然后我将工作流程设置为25,它现在称它为Web Garden。

然后我想让我读一下Web Garden。根据这篇文章,它是一件坏事,不应该使用?

https://serverfault.com/questions/81689/web-gardens-are-they-good-or-bad-or-what

我今天刚刚增加了工人流程,所以我不能说这是否会有所帮助,但如果这会让我感到其他麻烦,我也不想留下它。

我的网站不是MVC,但我添加了一个API控制器。不确定这是否会导致会话丢失或应用程序池最大化。

API不是我最关心的问题,因为我们计划将其转移到自己的MVC项目中。 但就目前而言,我担心的是随机会话丢失了。 我不确定它是否会丢失。我的代码只是检查(Session [&#34; uid&#34;] == null)是否转到登录页面。

我来自PHP / Apache历史,从未遇到任何Sessions问题。 c#masterpages和PHP模板之间的基本结构相同

我在localhost或dev服务器环境中没有任何问题。 只有在实时服务器上才会出现其他几个站点。 我不认为其他网站会影响我的网站吗?这就是应用程序池阻止了什么?

0 个答案:

没有答案