zoukankan      html  css  js  c++  java
  • ASP.NET Core 使用Redis保存进程外session

    Redsi下载地址:https://github.com/MSOpenTech/redis/releases

    下载后解压

    找到redis.windows.conf文件, (修改密码这步骤可省略

     

    打开 找到requirepass 节点 ,放开注释符 “#”  ,后面的值改成自己要设置的密码

    打开 cmd 窗口,使用 cd 命令切换目录到程序解压的目录或者直接到解压文件的目录下地址栏输入cmd回车  

    redis-server.exe redis.windows.conf

    新启动一个cmd窗口  

    redis-cli.exe -h 127.0.0.1 -p 6379 -a Mypwd

     

    若没设置密码 执行

    redis-cli.exe -h 127.0.0.1 -p 6379

    然后使用set  get 执行  存取值

    VS 操作

    在项目添加  StackExchange.Redis包

    Install-Package StackExchange.Redis

    配置文件配置Redis 链接串

    {
      "ConnectionStrings": {
        "RedisConn": "127.0.0.1:6379,allowAdmin=true,password=Mypwd,defaultdatabase=0"
      },
      "Logging": {
        "LogLevel": {
          "Default": "Trace",
          "System": "Information",
          "Microsoft": "Information"
        }
      },
      "COREHOST_TRACE": 1,
      "AllowedHosts": "*"
    }

    Startup.cs 里ConfigureServices方法添加 session 及Redis设置

                services.AddDistributedRedisCache(options =>
                {
                    options.Configuration = Configuration.GetConnectionString("RedisConn");
                    options.InstanceName = "MyTest.Web_";
                });
                services.Configure<CookiePolicyOptions>(options =>
                {
                    // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                    options.CheckConsentNeeded = context => false; // Default is true, make it false
                    options.MinimumSameSitePolicy = SameSiteMode.None;
                });
    
                //添加session
                services.AddSession(options =>
                {
                    options.IdleTimeout = TimeSpan.FromHours(2); //session 有效期
                    options.Cookie.HttpOnly = true;//设为httponly
                });

    Startup.cs 里Configuref方法添加 

    app.UseSession();
    

     程序使用session既可

    //写入
    HttpContext.Session.SetString("testkey", "abc");
    //读取
    string uid = HttpContext.Session.GetString("mruserid");

    用Redis管理工具  Redis Desktop Manager 链接查看

      

    上个图可能显示不全  补下上个图的一部分 

  • 相关阅读:
    C#多线程编程实战(一):线程基础
    查找算法之顺序查找
    设计模式01 创建型模式
    查找算法之二分查找
    设计模式01 创建型模式
    每天学一个,设计模式概要
    设计模式 01
    汽车电子传感器科普:激光雷达 毫米波雷达 超声波雷达
    C 如何判断编译器是否支持C90 C99?
    Node.js之EventEmiter
  • 原文地址:https://www.cnblogs.com/dwtx/p/11094260.html
Copyright © 2011-2022 走看看