使用 SQLServer 会话模式时会话数据消失

发布于 2024-12-25 20:53:23 字数 516 浏览 0 评论 0原文

我对会话数据有非常奇怪的问题。 使用 InProc 会话模式时不会出现问题。
事情是这样发生的:
1. HttpContext.Current.Session["testparam"] = "字符串值";
2. 我在 Page.Unload 事件中检查此数据。数据仍然存在。
3. 发起另一个请求后,我无法在 Page.OnInit 中获取数据,尽管我没有删除它。

其他事实:
日志中没有任何序列化错误。
会话数据库是使用此过程创建的。
IIS 和 ASP.NET 开发服务器中均出现错误。
我尝试了SQLServer模式和AppFabric分布式缓存模式。

任何帮助都会受到赞赏,因为我没有想法。

I have very strange problem with session data. Problem doesn't appear when using InProc session mode.
This is how it happens:
1. HttpContext.Current.Session["testparam"] = "string value";
2. I check for this data in Page.Unload event. Data is still there.
3. After another request is initiated I can't fetch data in Page.OnInit although I didn't delete it.

Additional facts:
There aren't any serialization errors in log.
Session database is created using this procedure.
Error appears in both IIS and ASP.NET development server.
I tried both SQLServer mode and AppFabric distributed cache mode.

Any help is appreciated since I'm out of ideas.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

随梦而飞# 2025-01-01 20:53:23

检查第二个页面的 page 指令中的 EnableSessionState 是否设置为 false。如果设置为 false,则在页面加载时不会从 SQL 获取该值。然而,这在 InProc 模式下不会发生。

Check if EnableSessionState is set to false in the page directive of the second page. If it is set to false, the value will not be fetched from SQL on page load. Whereas, this will not happen in InProc mode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文