我可以编写如下内容(在 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 设置的。
只是想知道在多个请求期间这将如何执行。当多个用户尝试访问同一属性(在多个请求中)时,即使收到大量请求,数据是否准确?
最佳答案
是的,这是线程安全的。静态 HttpContext.Current
属性因线程而异,包含线程当前正在处理的请求的上下文。
关于asp.net - 写这个是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16263489/