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相关推荐

  1. Asp.net Core 使用Redis存储Session

    学习博客:http://www.cnblogs.com/hantianwei/p/5723959.html 转载于:https://www.cnblogs.com/jiangjing/p/584619 ...

  2. asp.net core 使用 Redis 和 Protobuf 进行 Session 缓存

    目录 Redis 介绍 asp.net core Session 介绍 Redis & Session 实例讲解 Session的使用 使用 Protobuf 给 Session添加扩展方法 ...

  3. Session分布式共享 = Session + Redis + Nginx

    一.Session 1.Session 介绍 我相信,搞Web开发的对Session一定再熟悉不过了,所以我就简单的介绍一下. Session:在计算机中,尤其是在网络应用中,称为"会话控制 ...

  4. 利用spring session解决共享Session问题

    https://blog.csdn.net/patrickyoung6625/article/details/45694157 1.共享Session问题 HttpSession是通过Servlet容 ...

  5. tomcat + memcached session manager共享session

    网上有很多关于通过MSM(memcached session manager)实现memcached共享session的文章,但是很多都是东拼西凑,误导别人.正巧最近有一个地方用到,特此总结一下. M ...

  6. 详解Session分布式共享(.NET CORE版)

    一.前言&回顾 在上篇文章Session分布式共享 = Session + Redis + Nginx中,好多同学留言问了我好多问题,其中印象深刻的有:nginx挂了怎么办?采用Redis的S ...

  7. ASP.NET Core学习资源汇总

    ASP.NET Core入门学习资源汇总篇幅比較長,分为七个部分. (一)认识.NET Core (二)Vistual Studio安装.调试 (三)Asp.Net Core入门指南与学习路线 (四) ...

  8. 用分布式缓存提升ASP.NET Core性能

    得益于纯净.轻量化并且跨平台支持的特性,ASP.NET Core作为热门Web应用开发框架,其高性能传输和负载均衡的支持已广受青睐.实际上,10-20台Web服务器还是轻松驾驭的.有了多服务器负载的支 ...

  9. ASP.NET Core 缓存技术 及 Nginx 缓存配置

    前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...

  10. ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行

    之前两篇文章简析.NET Core 以及与 .NET Framework的关系和.NET Core的构成体系从总体上介绍.NET Core,接下来计划用一个系列对ASP.NET Core的运行原理进行 ...

最新文章

  1. Linux服务器网络开发模型
  2. Selenium-键盘操作
  3. nginx 配置多个域名 指向不同服务_Nginx的几个常用配置和技巧
  4. 本人正式入驻博客园~
  5. 如何才能快速提高自己的能力?!
  6. 【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看
  7. LoudMiner:伪装在VST软件中的跨平台挖矿软件
  8. 【实战】Docker容器资源管理
  9. 网络PPTP协议代理加速器的应用
  10. WPS Office 2019 发布Linux 个人版
  11. 身高预测_大部分都很准哦
  12. css样式鼠标放上去变成手的形状
  13. 泰勒级数、欧拉公式、三角函数
  14. python pygame K按键说明
  15. edg击败we视频_2017LPL春季赛4月8日WE VS EDG视频:EDG 2:0 WE获胜
  16. proxmox 控制台无法连接_Proxmox VE网络配置
  17. ubuntu1804安装opencv
  18. 妈妈的情绪,决定孩儿子的未来
  19. totolinkn200up怎么设置_TOTOLINK EX300无线中继器设置说明
  20. matlab 调图像色温,Matlab常用白平衡算法.pdf

热门文章

  1. linux下如何添加定时备份任务,Linux下Oracle设置定时任务备份数据库的教程
  2. 栈应用---元素出栈、入栈顺序的合法性判断
  3. Android 应用快捷方式 ShortcutManager 简单说明
  4. 卧槽!华为工程师总结的Java笔记,太优秀了!
  5. 牛批!妹子一口气拿下BAT、美团、vivo、爱奇艺等公司Offer面经总结
  6. html5 密码强度,前端开发判断输入密码强度
  7. python3中split的用法_python3 - 对有规律的字符串进行切割(split用法)
  8. linux 最大磁盘 16t,linux ext4无法使用超过16T磁盘的解决办法
  9. php mb strimwidth,如何解决WordPress内置函数mb_strimwidth()不能用问题?
  10. 经典神经网络 -- RetinaNet的Focal_Loss : 设计原理与pytorch实现