首页 > Web开发 > 详细

在.net Core 中像以前那样的使用HttpContext.Current

时间:2020-05-16 10:28:06      阅读:43      评论:0      收藏:0      [点我收藏+]
原文:在.net Core 中像以前那样的使用HttpContext.Current

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

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

 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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方法 添加

1
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();

  

 改写ConfigureServices方法 

  

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

  

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

 

在.net Core 中像以前那样的使用HttpContext.Current

原文:https://www.cnblogs.com/lonelyxmas/p/12898174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!