1. 程式人生 > >ASP.NET Core 儲存Session的方法

ASP.NET Core 儲存Session的方法

原文地址:https://www.cnblogs.com/wtujvk/p/8743035.html

ASP.NET Core 儲存Session的方法:a.記憶體方式,b.Redis,c.Redis叢集,d.SqlServer

1.使用Session(程序內)

在startup中新增方法 
 

services.AddDistributedMemoryCache();

services.AddSession ();

.....

app.UseSession();

 

2.使用Redis儲存Session(單節點)

services.AddDistributedRedisCache(option => {

 option.Configuration = “127.0.0.1:6379”;
 option.InstanceName = 30;
});

3.使用Redis分散式儲存 (分散式)

nuget:     Microsoft.AspNetCore.DataProtection

services.AddDataProtection()
.SetApplicationName(Configuration["Redis:Session_application_name"])
.PersistKeysToRedis(ConnectionMultiplexer.Connect(redisconfig), "DataProtection-Keys");

示例:

使用方式: 

HttpContext.Session.SetString("key", “value”);  //設定

HttpContext.Session.GetString("key");//獲取session

4.使用Sqlserver資料庫儲存Session

services.AddDistributedSqlServerCache

 

參考:ASP.NET Core中介軟體實現分散式 Session: https://www.cnblogs.com/vipyoumay/p/7771237.html