【小5聊】Asp.Net Core 2.1基础之开启HttpContext内容请求

Asp.Net Core 框架的目的之一就是为了跨平台,要跨平台就必须跳出依赖于Windows底层的dll,那么framework框架很多函数库就无法使用了,就必须重新使用新的方式

1、创建一个自定义助手类

  •  代码
public static class HttpContext
{
    private static Microsoft.AspNetCore.Http.IHttpContextAccessor _httpContextAccessor;


    public static void Init(Microsoft.AspNetCore.Http.IHttpContextAccessor httpContextAccessor)
    {
        _httpContextAccessor = httpContextAccessor;
    }


    public static Microsoft.AspNetCore.Http.HttpContext Current
    {
        get
        {
            if (_httpContextAccessor == null) return null;
                    
            return _httpContextAccessor.HttpContext;
        }
    }
}

 2、启动类进行配置服务和配置应用

  • 配置服务代码
public IServiceProvider ConfigureServices(IServiceCollection services)
{
    //...

    services.AddHttpContextAccessor();
    
    //...
}
  • 配置代码
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    //...
    
   
HttpContextHelper.HttpContext.Init(app.ApplicationServices.GetRequiredService<IHttpContextAccessor>()); //配置在standard项目也可以获取

    //...
}

 

Guess you like

Origin blog.csdn.net/lmy_520/article/details/120396975