在回发后偶尔会丢失ASP.Net会话

时间:2015-10-28 17:05:01

标签: asp.net session iis

我们有一个安装在我们客户的WebForms应用程序:

  • .NET Framework 4.51
  • InProc会话(使用Cookie)
  • 集成管道模式
  • IIS 8.5
  • SSL

问题

我们遇到的问题是网络服务器突然重新创建了会话。当对aspx页面进行回发时,会不时发生这种情况。 (Session.IsNewSession属性已设置且所有先前的会话数据都已丢失.ASP.Net_SessionId cookie不会更改,也不会更改sessionId)。问题不是特定于浏览器。 (使用IE,Chrome,Firefox测试)

编辑:我现在还可以确认,当发生这种情况时,不仅会重新创建正在执行的用户的会话,而且还会重新创建所有其他活动用户的会话。

在使用VisualStudio或我的本地IIS服务器进行调试时,我既不能重现此行为。

我尝试/测试的内容

  • 检查会话超时的IIS设置(超时= 20分钟,但会话在@ 5秒后回发时丢失)
  • 应用程序池回收设置为默认值(1740分钟)
  • 所有请求均使用https://(因此不在http / https之间切换)
  • 已激活的回收日志记录 - >据我所知,当发生这种情况时,没有应用程序池回收(没有日志,没有进程ID更改,......)

什么可能导致这个问题?

编辑2:我现在确定,问题是IIS 8.5。在IIS 7中运行的相同代码没有此问题。

解决方法

This answer通过将应用程序池设置为' Classic'来解决类似的问题。而不是整合'。我现在修改了应用程序的方式,它也可以运行在经典'模式,问题消失了。我仍在寻找原因和真实的"允许我在“集成”中运行应用程序的解决方案。模式。所以任何建议仍然受到赞赏。

0 个答案:

没有答案