gpt4 book ai didi

ASP.Net session 变量——设置 session 变量然后重定向

转载 作者:行者123 更新时间:2023-12-02 16:06:35 24 4
gpt4 key购买 nike

enter image description here

上面简化了我的情况,但突出了我的困境 - 有时我的用户无法访问他们的 session 变量(远在 session 超时之前)。我的配置如下:

  • 应用程序是 .NET Framework 3.5
  • session 状态由 StateServer 处理(在 Web 服务器上本地运行)
  • Web 服务器上运行的 StateServer 服务是 .NET Framework 4.0
  • 只有一台网络服务器,这不是农场或花园的情况

我在控制流中有一个页面,它将 session 变量设置为自定义用户对象的实例(如果我将对象二进制序列化到文件系统,它们的大小可以在 6kb 到 30kb 之间,所以不小,但是也不是很大)。该应用程序通常最多只有 10 个并发用户。在后续页面的控制流程中,检查session变量是否不为null。如果 session 变量为空,则假定 session 已超时并且用户被重定向到“丢失 session ”页面。我已(出于调试目的)在丢失的 session 页面中对同一 session 对象进行了另一次检查。

我在日志中看到的内容非常奇怪——用户被发送到丢失的 session 页面,但该对象确实存在于 session 中! session 变量是否有可能在 PageTwo.aspx 上为 null,但在 LostSession.aspx 上不为 null? PageTwo.aspx 是否可能运行得太快——这意味着该对象尚未完全“写入” session 状态服务器?

关于如何进一步调试这个问题有什么想法吗?

最佳答案

因为用户对象存在于 LostSession 中,所以它也应该存在于 PageTwo 中。由于您使用重定向,因此过早访问数据应该不会有问题。

您可以尝试在 PageTwo 中分配用户对象的行上设置检查点,并手动查看 session 对象。将其与 PageOne 和 LostSession 进行比较可能会告诉您导致问题的原因。

该键可能包含拼写错误,因此用户对象被设置为 null,因为引用的键在 session 中没有对象。

关于ASP.Net session 变量——设置 session 变量然后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21861260/

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