首先创建ASP.NET CORE Web项目,然后按如下顺序操作。
1.添加nuget程序包:

            Microsoft.AspNetCore.Session;Microsoft.AspNetCore.DataProtection.Redis;Microsoft.Extensions.Caching.Redis.Core;Microsoft.Extensions.Caching.RedisMicrosoft.AspNetCore.Http;     //使用Session时有扩展方法

2.在appsettings.json中添加Redis配置:

{"Logging": {"LogLevel": {"Default": "Warning"}},"WebConfig": {"Redis": {"Connection": "127.0.0.1:6379,defaultdatabase=1",//"Connection": "127.0.0.1:6379,allowAdmin=true,password=123456,defaultdatabase=5","InstanceName": "Core_Redis_Session_"},"SessionTimeOut": "30" //session过期时长,分钟},"AllowedHosts": "*"
}

  3.在startup.cs类中,按如下例子添加代码:

        // This method gets called by the runtime. Use this method to add services to the container.public void ConfigureServices(IServiceCollection services){services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);/**  Microsoft.AspNetCore.Session;*  Microsoft.AspNetCore.DataProtection.Redis;*  Microsoft.Extensions.Caching.Redis.Core;*  Microsoft.Extensions.Caching.Redis*  Microsoft.AspNetCore.Http;     //使用Session时有扩展方法*/#region 使用Redis保存Sessionvar redisConn = Configuration["WebConfig:Redis:Connection"];var redisInstanceName = Configuration["WebConfig:Redis:InstanceName"];//Session 过期时长分钟var sessionOutTime = Configuration.GetValue<int>("WebConfig:SessionTimeOut", 30);//var redis = StackExchange.Redis.ConnectionMultiplexer.Connect(redisConn);//services.AddDataProtection().PersistKeysToRedis(redis, "DataProtection-Test-Keys");services.AddDistributedRedisCache(option =>{//redis 连接字符串option.Configuration = redisConn;//redis 实例名option.InstanceName = redisInstanceName;});#endregion//添加Session并设置过期时长services.AddSession(options => { options.IdleTimeout = TimeSpan.FromMinutes(sessionOutTime); });}// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env){app.UseSession();app.UseMvc(routes =>{routes.MapRoute(name: "default",template: "{controller=Home}/{action=Index}/{id?}");});}

4.在控制器HomeController中添加:

public class HomeController : Controller{public IActionResult Index(){ViewData["UserName"] = this.HttpContext.Session.GetString("UserName");ViewData["PassWord"] = this.HttpContext.Session.GetString("PassWord");return View();}[HttpPost]public NoContentResult Add(string userName,string pwd){this.HttpContext.Session.SetString("UserName", userName);this.HttpContext.Session.SetString("PassWord", pwd);return NoContent();}

5.在View/Index.cshtml添加如下代码:

<form method="post" action="../Home/Add"><div><input name="username" id="username" type="text" value="@ViewData["UserName"]" /><input name="pwd" id="pwd" type="password" value="" /><input type="submit" value="更新" /><h1>提交用户名称为:@ViewData["UserName"]    密码:@ViewData["PassWord"]</h1><a href="javascript:void(0);" οnclick="window.location.reload();">刷新显示最新值</a></div>
</form>

  

源代码下载:https://github.com/842549829/Session.Redis.Web

转载于:https://www.cnblogs.com/liuxiaoji/p/9259747.html

.NetCore Session.Redis相关推荐

  1. 在spring MVC项目中集成Spring session redis (使用spring session框架,redis作为存储缓存)...

    2019独角兽企业重金招聘Python工程师标准>>> 1.为项目增加以来  pom.xml中使用 <!-- spring session 单点登录 --> //本项目使 ...

  2. php session redis 配置

    相信很多人用过redis存放session,可能有些人还不是很清楚,这里说一下如何配置php的session存放在redis里面?然后如何测试出效果? 具体环境: 一台apache+php的服务器(y ...

  3. Spring Security + Session Redis——JSON序列化错误[The class xxx and name of xxx is not whitelisted. ]解决方案

    前置 Spring Security + Spring Session + Redis--[SecurityContext]和[AuthenticationToken]JSON反序列化问题解决方案 问 ...

  4. Spring Security + Spring Session Redis——【SecurityContext】和【AuthenticationToken】JSON反序列化问题解决方案

    前置 Spring Session + Redis--自定义JSON序列化解决方案 问题描述 Spring Security + Spring Session使用中Redis,默认序列化方式是JdkS ...

  5. Spring Session Redis——自定义JSON序列化解决方案

    问题描述 Spring Session + Redis--自定义JSON序列化解决方案 问题分析 RedisHttpSessionConfiguration中,Bean名称必须是springSessi ...

  6. Spring Boot——Spring Session Redis整合Spring Security时错误【RedisConnectionFactory is required】解决方案

    问题描述 异常栈栈底 Caused by: java.lang.IllegalStateException: RedisConnectionFactory is requiredat org.spri ...

  7. 单点登录实现(spring session+redis完成session共享)

    一.前言 项目中用到的SSO,使用开源框架cas做的.简单的了解了一下cas,并学习了一下 单点登录的原理,有兴趣的同学也可以学习一下,写个demo玩一玩. 二.工程结构 我模拟了 sso的客户端和s ...

  8. php session redis db,php session redis 配置

    具体环境: 一台apache+php的服务器(yum安装remi源及配置 httpd-2.2.15 php-5.4.45) 一台redis服务器(yum安装remi源及配置 redis-3.2.6) ...

  9. Spring Session, Redis 实现微服务 Session 共享

    在微服务中,实现各个微服务模块之间的Session共享,可以通过 Spring Session 和 Redis 技术实现. 本实例直接在之前的两个微服务中添加同样的配置,然后测试两个接口查看 Sess ...

最新文章

  1. 几个非常低调的公众号!但副业月入早已过3万...
  2. poj2002 poj3432 正方形个数 (hash,二分)
  3. 了解 SharePoint 2010 开发中的关键点
  4. python包和目录有什么不同_python模块和包的区别
  5. java容器遍历_高效遍历Java容器详解
  6. Community Server架构:博客业务详细分析(转)
  7. ajax请求队列,使AJAX队列稍后解析请求
  8. 浅析HTTP代理原理--转
  9. HDU1847 博弈论 水题
  10. 新版换密交友月老盲盒微信小程序源码
  11. 华为交换机配置远程连接
  12. CorelDRAW哪个版本好用实用强x4/X8/2019/2020/2021
  13. java 获取各省市的区号_城市查区号示例代码
  14. C#实现人民币阿拉伯数字转换成大写金额的代码
  15. 新手试炼:C语言实现加密版2-4阶行列式运算!
  16. 提供一套基于SpringBoot-shiro-vue的权限管理思路.
  17. web 实时刷新 websocket 大数据
  18. 图解:为什么总有人能“躺着”挣钱?
  19. 手动生成MyEclipse注册码及序列号(源代码)
  20. 三星手机刷机后显示无服务器,三星手机刷机后无基带无信号打不了电话等故障详细修复教程...

热门文章

  1. vim下如何去掉windows编辑的文件中的^M
  2. ubuntu 内Grub2配置详解(转)
  3. gamebryo坐标系
  4. 剑指offer最新版_剑指Offer——Java版本(持续更新)
  5. Python——四大内置高阶函数(map、reduce、filter、sorted)
  6. wpf datagrid 数据为null时 显示背景图_[C#.NET 拾遗补漏]09:数据标注与数据校验
  7. mysql 复制_MySQL的复制功能
  8. Fiddler及浏览器开发者工具进行弱网测试
  9. EOS Nation更新“flash.sx遭攻击”进展:将建议MSIG根据快照将资金退还
  10. 持有1000枚比特币及以上的地址数量创历史新高