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 方法中:
//设置session app.UseSession(); //UseSession配置在UseMvc之前
控制器中使用:
//存session HttpContext.Session.SetString("userId",user.UserId);
//取 userId = HttpContext.Session.GetString("userId");