创建自定义HttpContext类
public class ComHttpContext
{
private static IHttpContextAccessor _contextAccessor;
/// <summary>
/// 当前上下文
/// </summary>
public static Microsoft.AspNetCore.Http.HttpContext Current
{
get
{
if (_contextAccessor != null)
{
return _contextAccessor.HttpContext;
}
else
{
return null;
}
}
}
public static void Configure(IHttpContextAccessor contextAccessor)
{
_contextAccessor = contextAccessor;
}
}
Startup的ConfigureServices中,添加
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
Startup的Configure中添加
ComHttpContext.Configure(app.ApplicationServices.GetRequiredService<Microsoft.AspNetCore.Http.IHttpContextAccessor>());
即可在当前请求线程的任何类中使用ComHttpContext.Current来访问当前请求的HttpContext对象,包括Request和Session