Session 经典asp站点中的新请求导致会话丢失
这不容易解释,但我会尽力的 这个问题开始发生在几年前使用经典asp构建的网站上,症状是管理员使用表单登录,然后设置了会话变量,但当他们请求新页面时,会突然提示他们再次登录 这个问题不是特定于任何浏览器的,我已经在Firefox和IE8中重现了这个问题 使用Fiddler,我可以看到服务器突然发送了一个新的Set Cookie头,尽管请求中发送了前一个会话Cookie 从那一刻起,服务器将在两个会话之间随机切换,所有会话似乎都没有过期,它们保留自己的变量,但对于用户来说,这是无用的,因为可能会要求他登录,然后表单数据将在已登录的会话中处理 我可以试着找出问题所在吗 服务器是与IIS6共享的主机,主机公司不是很友好,但将所有东西转移到其他地方的成本使事情保持原样 谢谢 更多信息: 按照Aaron D的建议显示机器名称。始终显示相同的名称,但我已将应用程序的开始时间存储在global.asa中:Session 经典asp站点中的新请求导致会话丢失,session,asp-classic,Session,Asp Classic,这不容易解释,但我会尽力的 这个问题开始发生在几年前使用经典asp构建的网站上,症状是管理员使用表单登录,然后设置了会话变量,但当他们请求新页面时,会突然提示他们再次登录 这个问题不是特定于任何浏览器的,我已经在Firefox和IE8中重现了这个问题 使用Fiddler,我可以看到服务器突然发送了一个新的Set Cookie头,尽管请求中发送了前一个会话Cookie 从那一刻起,服务器将在两个会话之间随机切换,所有会话似乎都没有过期,它们保留自己的变量,但对于用户来说,这是无用的,因为可能会要求
Sub Application_OnStart()
Application("Start") = now()
End Sub
事实证明,当在测试页面中显示该信息时,它确实会随着检测到的会话的变化而变化。所以有两台服务器(同名),或者它运行了两次应用程序。
可能吗?我有一些想法,但没有确定的
如果事实证明是这样,那么解决方案是将会话状态模型从“InProc”更改为使用共享资源(如数据库)
1.不,所有站点都使用http。2.不,我已经检查过了,所有的请求都在使用www。除此之外,有时我只需重新加载一个测试页面就可以重现问题。3.这是一个有趣的检查(也是我最初的猜测之一)。我已经将该信息添加到我的测试页面,但现在它工作正常。但也许他们可以用同样的方式命名两台机器?能用Fiddler追踪到吗?不,Fiddler展示了我所解释的。我可以多次重新加载测试页面,然后服务器突然发送一个新的set cookie头。