Startup.cs文件中的ConfigureServices方法配置:
#region Session內存緩存
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
//啟用內存緩存(該步驟需在AddSession()調用前使用)
services.AddDistributedMemoryCache();//啟用session之前必須先添加內存
//services.AddSession();
services.AddSession(options =>
{
options.Cookie.Name = ".AdventureWorks.Session";
options.IdleTimeout = TimeSpan.FromSeconds(2000);//設置session的過期時間
options.Cookie.HttpOnly = true;//設置在瀏覽器不能通過js獲得該cookie的值
});
#endregion
Configure 方法中:
app.UseSession();//UseSession配置在UseMvc之前
控制器中使用:
存:HttpContext.Session.SetString("code", "123456");
取:HttpContext.Session.GetString("code");
options.CheckConsentNeeded = context => true; 要設置成false, 不然會倒置存取Session ID不一致。