- 因为自己淋过雨,所以想给后来者留把伞。
- 之前用的ASP.NET的Session,可以直接使用,而且在任何控制器都可以获取Session中的数据
- 到了ASP.NET Core MVC中,我也想使用Session,但是用法区别很大,我去在网上找了很久的教程,结果一通配置下来,都只能在同一控制器中访问,不能两个控制器访问同一个Session,不断找答案,终是功夫不负有心人,现在我就分享给大家
- 1.添加以下两个包
- 2.在Program.cs文件中的builder里配置以下两项(两个builder),里面的第一个builder就是注册Session服务,第二builder是打开启用上下文(这是最关键的,也是为什么其它教程的Session不能跨Controller访问的原因)
- 在app里配置,放在app.UseRouting()后面
- 3.到用使用Session的Controller中做如下构造函数注入,注意看我标注的几个箭头,ISession并不是通过构造函数注入的,而是通过已经完成注入的_contextAccessor来完成Session赋值的,相当关键,没看懂的朋友可以多看两遍
- 4.使用Session,就很简单了,键值对保存,键值对取下面这个我是在LoginController中存的
- 这个我就是在另一个控制器中取的,Set存,Get取
12-19
915
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-08
407
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交