对于同一 Web 应用程序的多个用户,以下代码是否存在问题?我的意思是,我知道一个纯静态字符串将在单个 ASP.NET 应用程序的所有会话之间共享,但考虑到 this 明确引用了Current.Session
,即使它是静态的,它似乎总是引用“当前用户”的会话实例。
但是发生了一个错误,可以用每个人共享当前值来解释Mode
因此,最近的变化覆盖了其他人的模式值。
(作为背景:该字符串位于Helpers
在整个应用程序中使用的类。我不想进行硬编码引用Session["Mode"]
整个申请过程并且不想通过Session["Mode"]
在来自 aspx.cs 页面的每个方法调用中。)
public static string Mode
{
get
{
var value = HttpContext.Current.Session["Mode"];
return (value ?? string.Empty).ToString();
}
set
{
HttpContext.Current.Session["Mode"] = value;
}
}
HttpContext.Current
总是返回当前请求的上下文(如果有is当前请求)。
由于每个用户将执行不同的请求,因此每个上下文都会不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)