我的网络应用程序中的会话正在混合
本文关键字:混合 会话 网络 应用程序 我的 | 更新日期: 2023-09-27 17:58:37
我有web应用程序,这是场景
用户正在登录。数据从添加到对象(例如)的数据库加载
class UserData
{
public string Name { get; set; }
}
该对象的实例被添加到会话中,当来自另一台计算机的用户登录时,他的会话也被应用到第一个用户会话。我知道这是因为在应用程序的标题中显示了名称。
服务器IIS7,ASP.NET 2.0 C#
我仍然不敢相信这怎么可能,但找不到解决方案,这就是我问的原因。
提前感谢
可能需要更多信息。检查是否未将此用户数据存储在静态对象中。此对象可能在会话之间共享。
你在屏幕上看到第一个人或第二个人/最后一个人的名字(按登录顺序)了吗?这也可能是输出缓存的情况。你知道如何跟踪或调试你的网络应用程序吗?您能否验证会话中存储的数据是否正确?
发生这种情况的唯一方法是,如果您在服务器端缓存数据,在代理级别缓存(不正确),或者显示该信息的逻辑无法正确确定用户。它只是从数据库中读取吗?在页面顶部打开跟踪,添加Trace="true"
http://msdn.microsoft.com/en-us/library/94c55d08.aspx
并确保aspnet会话id在两个会话之间确实是唯一的。它们不会结合在一起,所以这里发生了其他事情。