使用 SQLServer 会话模式时会话数据消失
我对会话数据有非常奇怪的问题。 使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
检查第二个页面的 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.