ASP.Net Core 5.0 MVC Session的添加,及它与Cookie的关系

1.在控制器上新增一个方法

public IActionResult SessionAndCookie()
        {
            string result = HttpContext.Session.GetString("session_key");
            if (string.IsNullOrWhiteSpace(result))
            {
                HttpContext.Session.SetString("session_key", "我是session的值");//实际上这里value "Richard"都做了加密操作
            }
            HttpContext.Response.Cookies.Append("cookie_key", "我是Cookie的值", new CookieOptions { Expires = DateTime.Now.AddMinutes(30) });//实际上这里value "Richard"都做了加密操作

             ViewBag.session = HttpContext.Session.GetString("session_key");
              HttpContext.Request.Cookies.TryGetValue("cookie_key", out string _cookie);
            ViewBag.cookie = _cookie;
            return View();
        }

2. 在StartUp类上,添加Session服务,并使用它

 

 3. 运行程序,看效果

 从上图中,我们可以看出 session的值,并不会存储在客户端(浏览器),而是会以AspNetCore.Session的形式 将用户SessionId 存储在 浏览器 Cookie 键值对中,以便在下一次请求中方便识别身份。

posted @ 2021-02-06 22:38  明志德道  阅读(585)  评论(0编辑  收藏  举报