刪除Cookie如果請求具有一定的cookie設置進來,我要刪除的cookie,並重定向回同樣的動作(並保留查詢字符串,路徑值等)期間重定向
我期待在第二個(重定向)請求中,Cookie將會消失。 但事實並非如此。
我的操作方法:
[DeleteCookie]
public virtual ActionResult doStuff() {
// blah
}
我的行爲過濾:
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class DeleteCookieAttribute : ActionFilterAttribute {
public override void OnActionExecuting(ActionExecutingContext context) {
var request = context.HttpContext.Request;
if (request.Cookies.AllKeys.Contains("foo")) {
request.Cookies["foo"].Expires = DateTime.Now.AddYears(-1); // I tried this
request.Cookies.Remove("foo"); // I tried this
context.Result = new RedirectToRouteResult(context.RouteData.Values);
}
base.OnActionExecuting(_filterContext);
}
}
在第一個請求,一旦我刪除cookie,它從請求消失。但在第二次重定向請求中,它仍然存在!所以上面的代碼進入了一個無限循環。
我該如何刪除它?
你試過從響應對象,而不是要求刪除的cookie? AddYears(-1)也應該在響應對象 – LDJ