在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.添加nuget程序包: Microsoft.Extensions.Caching.Redis 2.在appsettings.json中添加Redis配置: "ConnectionRedis": { "Connection": "127.0.0.1:6379,allowAdmin=true,password=123456,defaultdatabase=0", "InstanceName": "SukCore_Redis_Session_", "SessionTimeOut": "20" }, 3.在startup.cs类中,ConfigureServices 中添加代码: public IServiceProvider ConfigureServices(IServiceCollection services) Configure 中 添加 app.UseSession(); 注意 app.UseSession(); 一定要在 app.UseMvc 之前 public void Configure(IApplicationBuilder app, IHostingEnvironment env) { //使用session app.UseSession(); app.UseMvc(routes => { routes.MapRoute( name: "areas", template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"); routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); }
4.在控制器 Controller中添加: public class HomeController : Controller { [HttpPost] public NoContentResult Add(string userName,string pwd) { this.HttpContext.Session.SetString("UserName", userName); this.HttpContext.Session.SetString("PassWord", pwd); ViewData["UserName"] = this.HttpContext.Session.GetString("UserName"); ViewData["PassWord"] = this.HttpContext.Session.GetString("PassWord"); return NoContent(); }
在调试的过程中遇到一个尴尬的问题 controller中打断点 没有执行session之前 先查看了 session id 发现一直为空 还以为错了 结果最后发现 要先执行代码不能先查看 附上我的错误截图 看没有和我一样傻的 哈哈哈。。。
错误的操作
正确的操作
|
请发表评论