1.在控制器上新增一个方法
代码语言:javascript复制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 键值对中,以便在下一次请求中方便识别身份。