ASP.NET Core 使用Redis 存储Session 实现共享 Session
1.添加nuget程序包:
Microsoft.Extensions.Caching.Redis
2.在appsettings.json中添加Redis配置:
"ConnectionRedis": {"Connection": "127.0.0.1:6379,allowAdmin=true,password=123456,defaultdatabase=0","InstanceName": "SukCore_Redis_Session_","SessionTimeOut": "20"},
3.在startup.cs类中,ConfigureServices 中添加代码:
public IServiceProvider ConfigureServices(IServiceCollection services) { services.Configure<CookiePolicyOptions>(options =>{// This lambda determines whether user consent for non-essential cookies is needed for a given request.options.CheckConsentNeeded = context => false; //这里要改为false,默认是true,true的时候session无效options.MinimumSameSitePolicy = SameSiteMode.None;}); #region 使用Redis保存Session// 这里取连接字符串 自己取吧...ConnectionConfigModel con = ConfigurationManager.GetAppSettings<ConnectionConfigModel>();services.AddDistributedRedisCache(option =>{//redis 连接字符串option.Configuration = con.ConnectionConfig.ConnectionRedis.Connection;//redis 实例名option.InstanceName = con.ConnectionConfig.ConnectionRedis.InstanceName;});//添加session 设置过期时长分钟 var sessionOutTime = con.ConnectionConfig.ConnectionRedis.SessionTimeOut;services.AddSession(options =>{options.IdleTimeout = TimeSpan.FromMinutes(Convert.ToDouble(sessionOutTime)); //session活期时间options.Cookie.HttpOnly = true;//设为httponly});#endregion }
Configure 中 添加 app.UseSession();
注意 app.UseSession(); 一定要在 app.UseMvc 之前
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {//使用session app.UseSession();app.UseMvc(routes =>{routes.MapRoute(name: "areas",template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");routes.MapRoute(name: "default",template: "{controller=Home}/{action=Index}/{id?}");}); }
4.在控制器 Controller中添加:
public class HomeController : Controller{[HttpPost]public NoContentResult Add(string userName,string pwd){this.HttpContext.Session.SetString("UserName", userName);this.HttpContext.Session.SetString("PassWord", pwd);ViewData["UserName"] = this.HttpContext.Session.GetString("UserName");ViewData["PassWord"] = this.HttpContext.Session.GetString("PassWord");return NoContent(); }
在调试的过程中遇到一个尴尬的问题 controller中打断点 没有执行session之前 先查看了 session id 发现一直为空 还以为错了 结果最后发现 要先执行代码不能先查看
附上我的错误截图 看没有和我一样傻的 哈哈哈。。。
错误的操作
正确的操作
转载于:https://www.cnblogs.com/su-king/p/11436887.html
ASP.NET Core 使用Redis 存储Session 实现共享 Session相关推荐
- Asp.net Core 使用Redis存储Session
学习博客:http://www.cnblogs.com/hantianwei/p/5723959.html 转载于:https://www.cnblogs.com/jiangjing/p/584619 ...
- asp.net core 使用 Redis 和 Protobuf 进行 Session 缓存
目录 Redis 介绍 asp.net core Session 介绍 Redis & Session 实例讲解 Session的使用 使用 Protobuf 给 Session添加扩展方法 ...
- Session分布式共享 = Session + Redis + Nginx
一.Session 1.Session 介绍 我相信,搞Web开发的对Session一定再熟悉不过了,所以我就简单的介绍一下. Session:在计算机中,尤其是在网络应用中,称为"会话控制 ...
- 利用spring session解决共享Session问题
https://blog.csdn.net/patrickyoung6625/article/details/45694157 1.共享Session问题 HttpSession是通过Servlet容 ...
- tomcat + memcached session manager共享session
网上有很多关于通过MSM(memcached session manager)实现memcached共享session的文章,但是很多都是东拼西凑,误导别人.正巧最近有一个地方用到,特此总结一下. M ...
- 详解Session分布式共享(.NET CORE版)
一.前言&回顾 在上篇文章Session分布式共享 = Session + Redis + Nginx中,好多同学留言问了我好多问题,其中印象深刻的有:nginx挂了怎么办?采用Redis的S ...
- ASP.NET Core学习资源汇总
ASP.NET Core入门学习资源汇总篇幅比較長,分为七个部分. (一)认识.NET Core (二)Vistual Studio安装.调试 (三)Asp.Net Core入门指南与学习路线 (四) ...
- 用分布式缓存提升ASP.NET Core性能
得益于纯净.轻量化并且跨平台支持的特性,ASP.NET Core作为热门Web应用开发框架,其高性能传输和负载均衡的支持已广受青睐.实际上,10-20台Web服务器还是轻松驾驭的.有了多服务器负载的支 ...
- ASP.NET Core 缓存技术 及 Nginx 缓存配置
前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...
- ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行
之前两篇文章简析.NET Core 以及与 .NET Framework的关系和.NET Core的构成体系从总体上介绍.NET Core,接下来计划用一个系列对ASP.NET Core的运行原理进行 ...
最新文章
- Linux服务器网络开发模型
- Selenium-键盘操作
- nginx 配置多个域名 指向不同服务_Nginx的几个常用配置和技巧
- 本人正式入驻博客园~
- 如何才能快速提高自己的能力?!
- 【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看
- LoudMiner:伪装在VST软件中的跨平台挖矿软件
- 【实战】Docker容器资源管理
- 网络PPTP协议代理加速器的应用
- WPS Office 2019 发布Linux 个人版
- 身高预测_大部分都很准哦
- css样式鼠标放上去变成手的形状
- 泰勒级数、欧拉公式、三角函数
- python pygame K按键说明
- edg击败we视频_2017LPL春季赛4月8日WE VS EDG视频:EDG 2:0 WE获胜
- proxmox 控制台无法连接_Proxmox VE网络配置
- ubuntu1804安装opencv
- 妈妈的情绪,决定孩儿子的未来
- totolinkn200up怎么设置_TOTOLINK EX300无线中继器设置说明
- matlab 调图像色温,Matlab常用白平衡算法.pdf
热门文章
- linux下如何添加定时备份任务,Linux下Oracle设置定时任务备份数据库的教程
- 栈应用---元素出栈、入栈顺序的合法性判断
- Android 应用快捷方式 ShortcutManager 简单说明
- 卧槽!华为工程师总结的Java笔记,太优秀了!
- 牛批!妹子一口气拿下BAT、美团、vivo、爱奇艺等公司Offer面经总结
- html5 密码强度,前端开发判断输入密码强度
- python3中split的用法_python3 - 对有规律的字符串进行切割(split用法)
- linux 最大磁盘 16t,linux ext4无法使用超过16T磁盘的解决办法
- php mb strimwidth,如何解决WordPress内置函数mb_strimwidth()不能用问题?
- 经典神经网络 -- RetinaNet的Focal_Loss : 设计原理与pytorch实现