.NetCore Session.Redis
首先创建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相关推荐
- 在spring MVC项目中集成Spring session redis (使用spring session框架,redis作为存储缓存)...
2019独角兽企业重金招聘Python工程师标准>>> 1.为项目增加以来 pom.xml中使用 <!-- spring session 单点登录 --> //本项目使 ...
- php session redis 配置
相信很多人用过redis存放session,可能有些人还不是很清楚,这里说一下如何配置php的session存放在redis里面?然后如何测试出效果? 具体环境: 一台apache+php的服务器(y ...
- Spring Security + Session Redis——JSON序列化错误[The class xxx and name of xxx is not whitelisted. ]解决方案
前置 Spring Security + Spring Session + Redis--[SecurityContext]和[AuthenticationToken]JSON反序列化问题解决方案 问 ...
- Spring Security + Spring Session Redis——【SecurityContext】和【AuthenticationToken】JSON反序列化问题解决方案
前置 Spring Session + Redis--自定义JSON序列化解决方案 问题描述 Spring Security + Spring Session使用中Redis,默认序列化方式是JdkS ...
- Spring Session Redis——自定义JSON序列化解决方案
问题描述 Spring Session + Redis--自定义JSON序列化解决方案 问题分析 RedisHttpSessionConfiguration中,Bean名称必须是springSessi ...
- Spring Boot——Spring Session Redis整合Spring Security时错误【RedisConnectionFactory is required】解决方案
问题描述 异常栈栈底 Caused by: java.lang.IllegalStateException: RedisConnectionFactory is requiredat org.spri ...
- 单点登录实现(spring session+redis完成session共享)
一.前言 项目中用到的SSO,使用开源框架cas做的.简单的了解了一下cas,并学习了一下 单点登录的原理,有兴趣的同学也可以学习一下,写个demo玩一玩. 二.工程结构 我模拟了 sso的客户端和s ...
- 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) ...
- Spring Session, Redis 实现微服务 Session 共享
在微服务中,实现各个微服务模块之间的Session共享,可以通过 Spring Session 和 Redis 技术实现. 本实例直接在之前的两个微服务中添加同样的配置,然后测试两个接口查看 Sess ...
最新文章
- 几个非常低调的公众号!但副业月入早已过3万...
- poj2002 poj3432 正方形个数 (hash,二分)
- 了解 SharePoint 2010 开发中的关键点
- python包和目录有什么不同_python模块和包的区别
- java容器遍历_高效遍历Java容器详解
- Community Server架构:博客业务详细分析(转)
- ajax请求队列,使AJAX队列稍后解析请求
- 浅析HTTP代理原理--转
- HDU1847 博弈论 水题
- 新版换密交友月老盲盒微信小程序源码
- 华为交换机配置远程连接
- CorelDRAW哪个版本好用实用强x4/X8/2019/2020/2021
- java 获取各省市的区号_城市查区号示例代码
- C#实现人民币阿拉伯数字转换成大写金额的代码
- 新手试炼:C语言实现加密版2-4阶行列式运算!
- 提供一套基于SpringBoot-shiro-vue的权限管理思路.
- web 实时刷新 websocket 大数据
- 图解:为什么总有人能“躺着”挣钱?
- 手动生成MyEclipse注册码及序列号(源代码)
- 三星手机刷机后显示无服务器,三星手机刷机后无基带无信号打不了电话等故障详细修复教程...
热门文章
- vim下如何去掉windows编辑的文件中的^M
- ubuntu 内Grub2配置详解(转)
- gamebryo坐标系
- 剑指offer最新版_剑指Offer——Java版本(持续更新)
- Python——四大内置高阶函数(map、reduce、filter、sorted)
- wpf datagrid 数据为null时 显示背景图_[C#.NET 拾遗补漏]09:数据标注与数据校验
- mysql 复制_MySQL的复制功能
- Fiddler及浏览器开发者工具进行弱网测试
- EOS Nation更新“flash.sx遭攻击”进展:将建议MSIG根据快照将资金退还
- 持有1000枚比特币及以上的地址数量创历史新高