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的使用分享到此結束,如有不足之處,歡迎大家留言評論!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM