所以,今天早上,我们托管 MVC3 网站的服务器断电。由于它重新上线,我们随机丢失了我们的会话值。这只发生在此服务器上,而不是本地或临时服务器上。这与超时无关,因为会话在短短 5 分钟后清除。会话设置为 12 小时后到期。当值丢失时,会话的 SessionID 不会更改。
我正在使用 Log4Net 并添加了很多日志记录来尝试查明这个问题。我已将 Session_Start 和 Session_End 事件添加到 Global.asax 中,并在整个控制器中检查会话值。
我有一个显示项目列表的索引视图。列表中的每个项目都有一个链接,可将您带到详细信息视图。我检查每个 Action 调用的会话值。从详细信息视图回调到索引视图时,会话值似乎总是丢失。我注意到的是,每次我的会话值丢失时,都会触发一个 Session_Start 事件。
没有 Session_End 事件,只有一个 Start。什么会导致这个开始发生?
如果我可以提供更多信息,请发表评论,我会添加我可以添加的内容。