在.net Core 中像以前那样的使用HttpContext.Current
程序员文章站
2022-12-25 07:57:59
1.首先我们要创建一个静态类 2: 然后在startup.cs文件中 在Configure方法 添加 3. 改写ConfigureServices方法 ......
1.首先我们要创建一个静态类
public static class MyHttpContext { public static IServiceProvider ServiceProvider; public static Microsoft.AspNetCore.Http.HttpContext Current { get { object factory = ServiceProvider.GetService(typeof(Microsoft.AspNetCore.Http.IHttpContextAccessor)); Microsoft.AspNetCore.Http.HttpContext context = ((Microsoft.AspNetCore.Http.HttpContextAccessor)factory).HttpContext; return context; } } }
2: 然后在startup.cs文件中
在Configure方法 添加
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
3. 改写ConfigureServices方法
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider svp) { ///省n多代码
Models.MyHttpContext.ServiceProvider = svp
} 在Configure方法的参数中加IServiceProvider svp;并在方法体中加 Models.MyHttpContext.ServiceProvider = svp; 其中MyHttpContext和声明的静态类名是一样的;
在程序中使用存储session就可以用
Models.MyHttpContext.Current.Session.Set("key", "value");
当然也可以把类名MyHttpContext改成HttpContext这样在程序中就是Models.HttpContext.Current.Session.Set("key", “value”)和之前的asp.net使用时一样的;
上一篇: 正则表达式中的捕获和反向引用笔记
下一篇: php字符串按照单词进行反转的方法
推荐阅读
-
ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用
-
在.NET Core 3.0中的WPF中使用IOC图文教程
-
在.net Core 中像以前那样的使用HttpContext.Current
-
在ASP.NET Core中创建内部使用Scoped服务的Quartz.NET宿主服务
-
jwt-在asp.net core中的使用jwt
-
ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用
-
在.NET Core 3.0中的WPF中使用IOC图文教程
-
jwt-在asp.net core中的使用jwt
-
在.net Core 中像以前那样的使用HttpContext.Current
-
在ASP.NET Core中创建内部使用Scoped服务的Quartz.NET宿主服务