Session是咱们在web开发中常用的对象,它默认是存在本机的,可是在ASP.NET Core中咱们能够十分方便的将Session的存储介质改成分布式缓存(Redis)或者数据库(SqlServer)。分布式的缓存能够提升ASP.NET Core 应用的性能和可伸缩性 ,尤为是在托管在云中或服务器场环境中web
ASP.NET Core 已经为咱们实现了Redis缓存。redis
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); //添加redis services.AddDistributedRedisCache(options => { options.Configuration = "localhost"; }); //添加session services.AddSession(options => { options.IdleTimeout = TimeSpan.FromMinutes(10); //session活期时间 options.Cookie.HttpOnly = true;//设为httponly }); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { //使用session app.UseSession(); ... }
使用 HttpContext.Session
来获取Session对象数据库
例:HttpContext.Session.SetString("userid","1000");
缓存
运行项目,能够看到redis已经有咱们刚刚访问所建立的Session服务器