gpt4 book ai didi

c# - MVC3 站点丢失存储在 session 中的值

转载 作者:行者123 更新时间:2023-11-30 22:28:33 25 4
gpt4 key购买 nike

因此,今天早上我们托管 MVC3 网站的服务器断电了。由于它已经重新上线,我们随机丢失了我们的 session 值。这只发生在这台服务器上,而不是在本地或暂存服务器上。这与超时无关,因为 session 会在短短 5 分钟后清除。 session 设置为 12 小时后过期。当值丢失时, session 的 SessionID 不会更改。

我正在使用 Log4Net 并添加了大量日志记录来尝试查明此问题。我已将 Session_Start 和 Session_End 事件添加到 Global.asax 中,并在整个 Controller 中检查 session 值。

我有一个显示项目列表的索引 View 。列表中的每个项目都有一个链接,可以将您带到详细信息 View 。我检查每个 Action 调用的 session 值。从详细信息 View 回调到索引 View 时, session 值似乎总是丢失。我注意到,每次我的 session 值丢失时,都会触发一个 Session_Start 事件。

没有 Session_End 事件,只有 Start。什么会导致这个 Start 发生?

如果有更多信息我可以提供,请评论,我会尽我所能添加。

最佳答案

如果您使用 InProc SessionState,那么您的应用程序池可能会在您的某些 session 中间回收。要补救,请使用 SQLServer SessionStateMode、StateServer SessionStateMode 或mitigate 应用程序池回收。

http://msdn.microsoft.com/en-us/library/ms178586.aspx


SQLServer mode stores session state in a SQL Server database. This ensures that session state is preserved if the Web application is restarted and also makes session state available to multiple Web servers in a Web farm.

关于c# - MVC3 站点丢失存储在 session 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com