【发布时间】:2015-09-01 16:58:53
【问题描述】:
我曾经有一个使用 HttpContext.Current 的 UserFactory(在 vNext 之前),但现在它已经消失了,我无法重新创建它。
我希望它是一个静态类,可以设置和获取当前用户在整个应用程序中访问用户数据。
我知道我必须使用 DI 系统,但不确定如何使用。
到目前为止的代码:
public class CurrentContext : IHttpContextAccessor
{
private IHttpContextAccessor ctx;
public HttpContext HttpContext
{
get
{
return ctx.HttpContext;
}
set
{
ctx.HttpContext = value;
}
}
}
services.AddTransient<IHttpContextAccessor, CurrentContext>();
public class UserFactory
{
private IHttpContextAccessor _context;
public UserFactory(IHttpContextAccessor Context)
{
_context = Context;
}
public void Add(string s) => _context.HttpContext.Session.SetString(s, s);
public string Get(string s) => _context.HttpContext.Session.GetString(s);
}
如何使用当前上下文在我的应用中的任何位置获取UserFactory 实例?
【问题讨论】:
标签: c# asp.net-core asp.net-core-mvc