asp.net core webapi Session 内存缓存

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不一致。

原文地址:https://www.cnblogs.com/wangjieke/p/9449322.html