我看到我在使用HttpContext.Request的删除方法后立即在调试中删除了cookie,但是当我重定向到另一个操作时,我仍然可以获得cookie值。为什么会这样?public class LoginController : Controller{ public ActionResult Logout() { HttpContext.Request.Cookies.Remove(Constants.User); //I see that HttpContext.Request.Cookies[Constants.User] returns null in this line. return RedirectToAction("Login", "Login"); } public ActionResult Login() { var userCookie = HttpContext.Request.Cookies[Constants.User]; // But HttpContext.Request.Cookies[Constants.User] is not null here. I get the value from it. if (userCookie != null) return RedirectToAction(Constants.MainPage, Constants.MainPage); else return View(); }}
1 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
要删除cookie,您必须将其发送,并将到期日期设置为现在或以前的日期。只需将其从集合中删除即可将其删除,但它仍存在于客户端浏览器中。HttpContext.Request.Cookies.Remove(Constants.User);
例如,不使用函数:Remove
Response.Cookies[Constants.User].Expires = DateTime.Now.AddDays(-1);
- 1 回答
- 0 关注
- 116 浏览
添加回答
举报
0/150
提交
取消
