Session IIS7上运行的经典ASP的会话变量

Session IIS7上运行的经典ASP的会话变量,session,variables,iis-7,asp-classic,Session,Variables,Iis 7,Asp Classic,似乎很多人已经知道这个问题,但我找不到解决办法 我们将web应用程序从IIS6转移到IIS7。为了进行身份验证和其他一些功能,我们使用会话变量。 在IIS6上,我们没有遇到任何问题,但现在所有用户都失去了时间和耐心,因为在提交页面之间的某个地方丢失了应用程序变量,结果用户被踢出了应用程序 服务器是带有64位操作系统的2008 R2 默认由Dell安装,因此应在64位模式下运行 我们没有任何第三方元素或模块。所有这些都是内部开发的 数据库显然也是MS SQL 2008,在同一台服务器上(我知道这

似乎很多人已经知道这个问题,但我找不到解决办法

我们将web应用程序从IIS6转移到IIS7。为了进行身份验证和其他一些功能,我们使用会话变量。 在IIS6上,我们没有遇到任何问题,但现在所有用户都失去了时间和耐心,因为在提交页面之间的某个地方丢失了应用程序变量,结果用户被踢出了应用程序

  • 服务器是带有64位操作系统的2008 R2
  • 默认由Dell安装,因此应在64位模式下运行
  • 我们没有任何第三方元素或模块。所有这些都是内部开发的
  • 数据库显然也是MS SQL 2008,在同一台服务器上(我知道这很糟糕,但我们的资源和资金有限)

那么,有人知道发生了什么以及如何解决这个问题吗?

您是否将应用程序部署为新网站或IIS上的虚拟目录?
请记住,对于要由服务器执行的global.asa中的方法,您需要将应用程序部署为新网站,而不仅仅是现有网站下的虚拟目录。

我认为最好的方法是添加日志代码,以便在会话变量丢失时进行跟踪;在回发到服务器、重定向等之后。。。试图缩小原因。
祝你好运。

解决这个问题很简单:不要使用除80以外的任何其他端口。 当我将站点移动到具有端口80的独立IP时(未测试在同一IP上使用标头)——所有问题都消失了……

寻找解决方案


内在复选框修复了我的问题,即IIS7下的新web应用程序(站点)。它使用具有32位启用设置的单个应用程序池。另一个详细信息:它使用端口8080@AllBlond这是可以接受的吗?问题是你的应用程序池和它设置的回收计划。还请记住,在IIS 7+中,默认情况下还有其他回收设置,用于确定应用程序池何时进行回收(如CPU、工作人员、内存)。如果配置不正确,则计划尤其具有攻击性。@Lankymart,这对我也适用。此外,当时没有人说任何有意义或有助于我解决问题的话。这是一个每分钟有很多独特访客的生产服务器…@AllBlond更可能的是,这只是掩盖了您的问题,更改端口分配的行为可能会回收您的站点。强制您切换正在绑定的端口或ip地址的解决方案不是一个解决方案,也不会帮助来这里寻找端口或ip地址的人。问题在于您的应用程序池及其设置的回收计划。还请记住,在IIS 7+中,默认情况下还有其他回收设置,用于确定应用程序池何时进行回收(如CPU、工作人员、内存)。如果配置不正确,则计划特别激进。