標籤:http ogg 代碼 get tco singleton host 學習 start
今晚在學習.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。。。。。。
在.net Core 中像以前那樣的使用HttpContext.Current