ASP.NET Core 使用Redis存储Session

前言

Session是我们在web开发中经常使用的对象,它默认是存在本机的,但是在ASP.NET Core中我们可以十分方便的将Session的存储介质改为分布式缓存(Redis)或者数据库(SqlServer)。分布式的缓存可以提高ASP.NET Core 应用的性能和可伸缩性 ,尤其是在托管在云中或服务器场环境中

使用

ASP.NET Core 已经为我们实现了Redis缓存。

1.配置服务
public void ConfigureServices(IServiceCollection services)
{
            

    services.AddMvc();

    //添加redis
    services.AddDistributedRedisCache(options =>
    {
        options.Configuration = "localhost";
                
    });

    //添加session
    services.AddSession(options =>
    {
        options.IdleTimeout = TimeSpan.FromMinutes(10); //session活期时间
        options.Cookie.HttpOnly = true;//设为httponly
    });
}
 2.启用Session
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    //使用session
    app.UseSession();

    ...
}

对Session进行操作

使用 HttpContext.Session来获取Session对象

例:HttpContext.Session.SetString("userid","1000");

运行项目,可以看到redis已经有我们刚刚访问所创建的Session

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏解Bug之路

文件解析中间件,用SQL去读取各种格式的文件! 顶

(1)完全支持MySql协议 (2)完全支持Mybatis-Generator (3)支持Schema和Table (4)支持客户端创建Schema和Ta...

913
来自专栏java 成神之路

Java 使用 endorsed 覆盖jdk提供的类

2516
来自专栏Golang语言社区

Golang入门-- 2D的图形库学习

1、获取源码并安装到本地: 首先要安装git (传送门) : https://git-scm.com/download/ 然后就可...

3024
来自专栏何俊林

插件开发之360 DroidPlugin源码分析(五)Service预注册占坑

在了解系统的activity,service,broadcastReceiver的启动过程后,今天将分析下360 DroidPlugin是如何预注册占坑的?本篇...

1946
来自专栏大内老A

ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI

前几天有一个朋友在MSN上问我“ASP.NET 从最初的接收到Http request到最终生成Response的整个流程到底是怎样的?”我觉得这个问题涉及到I...

1818
来自专栏程序员的SOD蜜

PDF.NET的SQL日志 ASP.net 路径问题 详解

PDF.NET(PWMIS数据开发框架)是一个基于SQL-MAP(将SQL语句映射成数据访问代码)和OQL(对象化的SQL查询表达式)技术的数据开发框架,兼有S...

1956
来自专栏大数据智能实战

pytorch实践中module 'torch' has no attribute 'form_numpy'问题的解决

最近开始仔细玩了一下pytorch,发现里面有个BUG之前都没有发现。 在测试torch最基本的示例的情况下,居然碰到了个pytorch无法转化numpy为Te...

3949
来自专栏恰同学骚年

.NET Core微服务之基于EasyNetQ使用RabbitMQ消息队列

  “消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中,“消息队列”是在消息的传...

1825
来自专栏owent

pbc的一个陈年老BUG

近期跟了一下pbc的lua-binding的一个老BUG,起源是我们客户端报了一个奇怪的问题,我们游戏里的某些功能的optional字段,服务器并没有下发数据,...

662
来自专栏Java技术

Tomcat服务器顶层结构和启动过程

通过从部署的 1240 个 JVM 中得到的数据,我们能够确定出现了 862 个容器供应商,或者说是占到了运行环境的 70% 左右。这些容器的供应商分布如下:

652

扫码关注云+社区