.net core 针对session遇到的问题

一、配置

1.Startup.cs

ConfigureServices中配置如下:

services.AddSession(option => {
      option.Cookie.Name = ".Test.Session";  //设置名称
      option.IdleTimeout = TimeSpan.FromSeconds(2000);  //Session的过期时间
      option.Cookie.HttpOnly = true; //防止XSS攻击,窃取cookie内容
 });

Configure中配置如下:

app.UseSession();   //这个必须在UseMvc之前配置

这个必须要写在UserMvc之前

二、使用

1.在项目中引用类库

Microsoft.AspNetCore.Http 

2.使用方法

HttpContext.Session.SetString("code","123456")      //写入
HttpContext.Session.GetString("code")     //获取
HttpContext.Session.Remove("code")       //删除

三、注意事项

1.SetString或者 GetString 如果没有此方法,还需要引用类库

Microsoft.AspNetCore.Http.Extensions

就可以看到了。
2.如果在使用过程中出现Session写入没有问题,但是读取不到问题,那么我们回到 Startup.cs下,看看ConfigureServices

services.Configure<CookiePolicyOptions>(options =>
{
      // This lambda determines whether user consent for non-essential cookies is needed for a given request.
      options.CheckConsentNeeded = context => true; 
      options.MinimumSameSitePolicy = SameSiteMode.None;
 });

options.CheckConsentNeeded = context => true;  

这里的 true改成 false就可以了
代码如下

options.CheckConsentNeeded = context => false;

如还遇到其他问题,可以留言一起分享。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SP.NET Core 运行原理剖析 1. ASP.NET Core 运行原理剖析 1.1. 概述 1.2. 文件...
    菠萝_gopher阅读 809评论 0 0
  • 1. ASP.NET Core中间件详解[#1-aspnet-core%E4%B8%AD%E9%97%B4%E4%...
    xdpie阅读 1,069评论 0 4
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,908评论 0 5
  • 文兰思 图 |花瓣网 很久很久以前,在苍茫无边的大海上,一艘夜航船鸣笛起航,乘风破浪,勇往直前。 一转眼,船上的人...
    兰思阅读 306评论 0 1
  • 近几年,孩子频繁摇头的现象成为许多家长来院咨询、求助的问题。医生指出,孩子频繁摇头,难以自主,并不是家长自认为的孩...
    xuanwei4171阅读 371评论 0 0