zoukankan      html  css  js  c++  java
  • 在.net Core 中像以前那样的使用HttpContext.Current

    今晚在学习.net Core 的使用 拿来以前项目进行改造最简单的问题就是怎么做到让httpcontext 和以前兼容 ,折腾的很久 终于搞定,纪录一下

    .net core中使用了无处不在的注入,看了站长大人关于注入的文章恍然大悟。解决方法如下:

    1:首先在  我们创建一个静态类 MyHttpContext

      public static class MyHttpContext
        {
            public static IServiceProvider ServiceProvider;
    
            static MyHttpContext()
            { }
    
    
            public static HttpContext Current
            {
                get
                {
                    object factory = ServiceProvider.GetService(typeof(Microsoft.AspNetCore.Http.IHttpContextAccessor));
    
                    HttpContext context = ((HttpContextAccessor)factory).HttpContext;
                    return context;
                }
            }
    

    2: 然后在startup.cs文件中

      在Configure方法 添加

    services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

      

     改写ConfigureServices方法 

      

      public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IServiceProvider svp)
            {
            ///省n多代码
                System.Web.NewHttpContext.ServiceProvider = svp;
        }        
    

      

    ok 终于可以和以前那样 直接在项目中使用 HtppContext。。。。。。

  • 相关阅读:
    c++之运算符
    C++开源库,欢迎补充。
    C++ 图像处理类库
    C++开源代码项目汇总
    视频会议及流媒体十大开源项目
    多媒体的框架
    C++开发资源汇总
    Juce之旅-第一个例子(图形窗口)
    Juce-强大的开源类库
    图像处理库的比较:OpenCV,FreeImage,CImg,CxImage
  • 原文地址:https://www.cnblogs.com/SpeakHero/p/6127883.html
Copyright © 2011-2022 走看看