我可以编写类似下面的内容(在ASP.NET网页中使用的程序集中)吗?
public static string CurrentAuthenticatedUserFromHttpRequest
{
get
{
if (HttpContext.Current.Items["AuthUser"] == null)
{
return string.Empty;
}
return HttpContext.Current.Items["AuthUser"].ToString(); //set in "TryAuthenticate"
}
}
它将是一个静态只读属性。值(到HttpContext.Current.Items [“AuthUser”])是通过httphandler设置的。
只是想知道在多个请求期间这将如何执行。当多个用户尝试访问同一属性(在多个请求中)时,即使大量请求进入,数据是否准确?
答案 0 :(得分:5)
是的,这是线程安全的。静态HttpContext.Current
属性因线程而异,并包含线程当前正在处理的请求的上下文。