【转】在.net Core 中像以前那样的使用HttpContext.Current
2024-08-25 16:47:03
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使用时一样的;
转自:https://www.cnblogs.com/DSC1991/p/9240327.html
https://www.cnblogs.com/zhangkjun/p/6143388.html
最新文章
- ABP 初探 之基于EasyUI的CURD
- io.js - 兼容 NPM 平台的 Node.js 新分支
- Sql server之sql注入篇
- [转]Linux vi 编辑后如何保存
- UVA 12266 Stock prices --优先队列
- unity触发器和碰撞器
- REST Security with JWT using Java and Spring Security
- Android(java)学习笔记70:同步中的死锁问题以及线程通信问题
- 使用Git将本地代码上传到GitHub
- mybatis insertUseGeneratedKeys
- nodejs中EventEmitter
- POJ 1166 The Clocks
- Android中callback(接口回调)机制
- js 函数中的 return+匿名函数
- 如何删除git远程仓库项目的所有内容,重新提交所有内容
- Glide 加载部分圆角图片
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 控制器
- groovy使用范型的坑
- [UE4]控件模板参数
- git flow分支管理
热门文章
- java框架之Spring(5)-注解驱动开发
- python框架之Django(15)-contenttype模块
- Navicat 用ssh通道连接时总是报错 (报错信息:SSH:expected key exchange group packet form serve
- java之webservice客户端
- jQuery实现购物车物品数量的加减
- Dvelopment descriptor
- Docker Kubernetes 常用命令
- Linux 系统状态、常用快捷键
- MySql 中的<;=>;操作符
- JS(JavaScript)的初了解(更新中&#183;&#183;&#183;)