Tonight in the study of the use of the. NET Core The simplest question is how to make the HttpContext and the previous compatibility, toss a long time finally fix, record
. NET core uses the ubiquitous injection, see the webmaster adults about the injection of the article dawned. Here's how to fix it:
1: First we create a static class 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: Then in the Startup.cs file
In the Configure method, add
Services. Tryaddsingleton<ihttpcontextaccessor, httpcontextaccessor> ();
Rewriting the Configureservices method
public void Configure (Iapplicationbuilder app, Ihostingenvironment env, Iloggerfactory loggerfactory, IServiceProvider SVP) {/// Province n multiple code System.Web.NewHttpContext.ServiceProvider = SVP; }
OK finally can be used as before directly in the project to use Htppcontext ...
Using HttpContext.Current as before in. NET Core