微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用StateServer的ASP.NET会话混合(SCARY!)

我们在会话中存储两个对象。不知何故,另一个用户的对象之一加载到不同的用户的会话中。用户应该无法访问这些特定的数据,一旦他们看到它,他们就知道一些事情是非常错误的。

我们有向他呈现的数据的视觉证明,除非会议混合,否则绝对没有办法。这是一个非常可怕的情况,我们无法确定(我们无法重现)。我们唯一的答案是责怪ASP.NET StateServer将会话变量混合起来,这是完全不可接受的,使我们处于不利地位。

我们的应用程序是在Windows Server 2003和IIS6上运行的ASP.NET 2.0应用程序,使用StateServer cookieless =“false”会话模式和FormsAuthentication。

有人有这个问题吗?我们如何解决

解决方法

我以前的公司遇到了这个确切的问题,花了3个星期来调试它。 ASP.NET正在给用户其他人的会话状态。在调试环境中重复是不可能的。

我们发现它的修复只是web.config中的一些。我不完全记得,所以我花了一些时间去搜索。我相信这个问题与输出缓存有关。看看这篇文章的“会话和输出缓存”。

http://msdn.microsoft.com/en-us/magazine/cc163577.aspx

如果这听起来像您的场景,那么修复可能只是禁用web.config中的enableKernelOutputCache选项。

祝你好运。

原文地址:https://www.jb51.cc/aspnet/252339.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐