zoukankan      html  css  js  c++  java
  • ASP.NET Core中使用Session

    ASP.NET Core中使用Session

    1、在程序包管理控制台中执行命令安装依赖包:

    PM> Install-Package Microsoft.AspNetCore.Session -Version 2.2.0

    也可直接在项目工程文件(*.csproj)中添加如下代码达到添加Session依赖的目的

    1 <ItemGroup>
    2     <PackageReference Include="Microsoft.AspNetCore.Session" Version="2.2.0" />
    3 </ItemGroup>

    2、使用依赖关系注入从应用中引用的服务

    在Startup类的ConfigureServices()方法中调用AddSession()服务:

    1 public void ConfigureServices(IServiceCollection services)
    2 {
    3     services.AddSession();
    4 }

    3、使用中间件

    在Startup类的Configure()方法中添加UseSession()中间件:

    1 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    2 {
    3      app.UseSession();
    4 }

    4、修改配置,防止页面切换后Session失效

    防止页面切换后Session ID改变,Seesion失效

    1 public void ConfigureServices(IServiceCollection services)
    2 {
    3   services.Configure<CookiePolicyOptions>(options =>
    4      {
    5          // This lambda determines whether user consent for non-essential cookies is needed for a given request.
    6          options.CheckConsentNeeded = context => false;//默认为true,改为false
    7          options.MinimumSameSitePolicy = SameSiteMode.None;
    8       });
    9 }

    5、使用Session

    Session写入

    1 HttpContext.Session.SetString("key", "value");

    Session读取

    1 HttpContext.Session.GetString("key");

     扩展方法

     1 /// <summary>
     2 /// Session写入
     3 /// </summary>
     4 /// <param name="key"></param>
     5 /// <param name="value"></param>
     6 protected void SetSession(string key, string value)
     7 {
     8     HttpContext.Session.SetString(key, value);
     9 }
    10 
    11 /// <summary>
    12 /// Session读取
    13 /// </summary>
    14 /// <param name="key"></param>
    15 /// <returns>返回对应的值</returns>
    16 protected string GetSession(string key)
    17 {
    18     var value = HttpContext.Session.GetString(key);
    19     if (string.IsNullOrEmpty(value))
    20     value = string.Empty;
    21     return value;
    22 }

     关于.net core中session的使用分享到此结束,如有不足之处,欢迎大家留言评论!

  • 相关阅读:
    ASP.NET Web API 框架研究 Self Host模式下的消息处理管道
    ASP.NET Web API 框架研究 Web Host模式下的消息处理管道
    ASP.NET Web API 框架研究 核心的消息处理管道
    ASP.NET Web API 框架研究 Web Host模式路由及将请求转出到消息处理管道
    ASP.NET Web API 框架研究 ASP.NET Web API 路由
    ASP.NET Web API 框架研究 ASP.NET 路由
    ASP.NET Web API 入门 (API接口、寄宿方式、HttpClient调用)
    MVVM模式
    RESTful Web API 理解
    C# 函数式编程及Monads.net库
  • 原文地址:https://www.cnblogs.com/gygg/p/11290082.html
Copyright © 2011-2022 走看看