会话变量值在会话之间混杂在一起

时间:2018-07-21 12:42:45

标签: asp.net session translation global-asax

我有一个称为语言的会话变量,用于翻译使用ASP.NET Web表单构建的网站。这是在Session_Start事件上设置的。在global.asax Application_AcquireRequestState中,我具有以下代码:

if (HttpContext.Current == null || HttpContext.Current.Session == null
|| HttpContext.Current.Session["Language"] == null) {           return;         }
        System.Globalization.CultureInfo ci = new
 System.Globalization.CultureInfo((string)HttpContext.Current.Session["Language"]);
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;

大多数情况下,翻译工作都像预期的那样。但是有时用户会为整个页面或页面的一部分获得另一种语言。我已经对此进行了试验,如果两个用户同时加载一个页面,我会遇到问题。

我的理论是语言的会话变量在会话之间是混杂的,但这怎么可能呢?会话变量不是唯一的并锁定到用户会话吗?

0 个答案:

没有答案