.net core 针对session遇到的问题

作者: 盏茶_作酒 | 来源:发表于2019-11-07 11:23 被阅读0次

    一、配置

    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;
    

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

    相关文章

      网友评论

        本文标题:.net core 针对session遇到的问题

        本文链接:https://www.haomeiwen.com/subject/kfvmbctx.html