首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用StateServer的ASP.NET会话混乱(可怕!)

使用StateServer的ASP.NET会话混乱(可怕!)
EN

Stack Overflow用户
提问于 2009-10-30 04:17:19
回答 5查看 9.9K关注 0票数 18

我们在会话中存储两个对象。不知何故,来自另一个用户的一个对象被加载到另一个用户的会话中。用户应该没有访问此特定数据的权限,当他们看到它时,他们就知道出了很大的问题。

我们有提交给他的数据的可视证据,除非会议弄混了,否则肯定不可能发生。这是一个非常可怕的情况,我们不能弄清楚(我们不能复制它)。对于我们来说,唯一的答案就是指责ASP.NET StateServer混淆了会话变量,这是完全不可接受的,并将我们置于不利的境地。

我们的应用程序是运行在带有IIS6的Windows Server2003上的ASP.NET 2.0应用程序,使用StateServer cookieless="false"会话模式和FormsAuthentication。

其他人也有这个问题吗?我们如何解决这个问题呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-30 05:38:37

我们在我以前的公司遇到了这个问题,花了3周的时间进行调试。ASP.NET为用户提供了另一个用户的会话状态。在调试环境中复制它确实是不可能的。

当我们发现它只是web.config中的一些东西时,修复了它。我没有完全记住它,所以我花了一些时间谷歌。我认为这个问题与输出缓存有关。请看这篇“会话和输出缓存”下的文章。

http://download.microsoft.com/download/3/a/7/3a7fa450-1f33-41f7-9e6d-3aa95b5a6aea/MSDNMagazineJuly2006en-us.chm (这篇文章的标题是Jeff Prosise在2006年7月的MSDN杂志上发表的文章《避免这10个常见的ASP.NET陷阱,让网站运行得顺畅》)

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

祝好运。

票数 15
EN

Stack Overflow用户

发布于 2009-10-30 04:20:01

首先在你自己的代码中寻找bugs -这是目前为止最有可能的解释。例如使用静态字段或诸如用于用户专用数据的ASP.NET高速缓存的其它共享存储器。

票数 6
EN

Stack Overflow用户

发布于 2009-10-30 04:32:33

它发生了多少次?您是否检查了使用浏览器返回的用户或使用会话Did互相发送链接的用户?

检查State Server错误的一种方法是切换到另一个会话管理器,如果可以或使用SQL Server,则回退到in-proc,但最好先找到一种方法来重现该错误,以便您可以对其进行测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1646274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档