我看到我在使用HttpContext.Request的刪除方法后立即在調(diào)試中刪除了cookie,但是當(dāng)我重定向到另一個操作時,我仍然可以獲得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秒到達(dá)戰(zhàn)場
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個贊
要刪除cookie,您必須將其發(fā)送,并將到期日期設(shè)置為現(xiàn)在或以前的日期。只需將其從集合中刪除即可將其刪除,但它仍存在于客戶端瀏覽器中。HttpContext.Request.Cookies.Remove(Constants.User);
例如,不使用函數(shù):Remove
Response.Cookies[Constants.User].Expires = DateTime.Now.AddDays(-1);
- 1 回答
- 0 關(guān)注
- 92 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
