我最近获得了一个较旧的ASP Web应用程序来维护。我没有触及太多,据我所知,实际的VB6项目文件已经消失,所以我只有自己的ASP文件才能使用。最近,用户开始抱怨被注销,有时一分钟或更短时间。我试过自己,登录一次,点击另一个链接,在显示页面内容之前检查身份验证,但在返回页面并让它显示内容之前必须再次登录。这种行为似乎刚刚弹出,因为没有人触及它,并且之前没有显示过这种行为。有关从哪里开始的任何建议?感谢。
答案 0 :(得分:1)
由于有很多方法可以存储用户会话,因此如果没有更多信息,很难说出这里发生了什么。
如果用户“随机”注销,则向我建议您使用Session对象存储身份验证信息。可能会发生以下情况之一:
IIS正在回收(重新启动)您的应用程序。这会吹掉你的Session对象。更多信息:http://msdn.microsoft.com/en-us/library/ms525803.aspx
这有点基础,但您是否在某种负载均衡配置中使用多个Web服务器?会话对象是特定于机器的。
另一种可能性。即使您没有使用Session对象,这也适用。我已经多次看到过这种情况。
答案 1 :(得分:0)
身份验证令牌是否存储在Cookie中,现在您的浏览器中的Cookie已关闭?
答案 2 :(得分:0)
应用程序的配置参数是否可能已更改?或IIS配置(或更新版本的IIS)?是否存在任何系统级更改?
答案 3 :(得分:0)
如果没有人修改任何东西,并且没有人登录过该框,你是否考虑过做一个iisreset只是为了确保你不会追逐一些罕见的怪异?我讨厌诉诸iisresets但是当其他一切都失败时......
如果您可以提供更多信息,例如身份验证类型,存储方式(客户端cookie或其他方法)等等......我们可能会提供更多帮助。
古德勒克
答案 4 :(得分:0)
你用什么维持状态?由于webfarm / webgarden scenerio,您是否有可能失去会话?我已经看到很长一段时间都运行良好然后突然,应用程序(确定,asp.net)开始挑选/选择它想与之通信的进程。