我看到我在使用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 關注
- 80 瀏覽
添加回答
舉報
0/150
提交
取消