IHttpContextAccessor 范围
IHttpContextAccessor scope
我在控制器中注入了 IHttpContextAccessor。我正在从 IHttpContextAccessor 读取用户名并将其返回给 UI.
我的问题是非常基础的。我需要了解当多个用户连接并请求用户名时这将如何工作。
我只想确保只为相应的用户返回用户名。
我不想在返回给客户端后将用户名保存在会话变量中。每当需要时,我都会请求调用并从上下文中获取它。
这种方法有效吗?
private IHttpContextAccessor ctx
public EmployeeController(IHttpContextAccessor context)
{
ctx=context;
}
public string GetEmployeeName()
{
return ctx.HttpContext.User.UserName;
}
HttpContextAccessor 将被注册为 Singleton 服务,当你
称为 AddHttpContextAccessor。
根据source codes,您可以发现HttpContextAccessor 在调用get 和set 方法时会检查_httpContextCurrent 值。当新请求到达应用程序时,它将自动设置 _httpContextCurrent.Value。
我在控制器中注入了 IHttpContextAccessor。我正在从 IHttpContextAccessor 读取用户名并将其返回给 UI.
我的问题是非常基础的。我需要了解当多个用户连接并请求用户名时这将如何工作。
我只想确保只为相应的用户返回用户名。
我不想在返回给客户端后将用户名保存在会话变量中。每当需要时,我都会请求调用并从上下文中获取它。
这种方法有效吗?
private IHttpContextAccessor ctx
public EmployeeController(IHttpContextAccessor context)
{
ctx=context;
}
public string GetEmployeeName()
{
return ctx.HttpContext.User.UserName;
}
HttpContextAccessor 将被注册为 Singleton 服务,当你 称为 AddHttpContextAccessor。
根据source codes,您可以发现HttpContextAccessor 在调用get 和set 方法时会检查_httpContextCurrent 值。当新请求到达应用程序时,它将自动设置 _httpContextCurrent.Value。