为什么我不能删除cookie

本文关键字:cookie 删除 不能 为什么 | 更新日期: 2023-09-27 18:01:11

我的Home-控制器中有以下代码:

public ActionResult MyPage()
{
    if (HttpContext.Request.Cookies["User"] == null)
    {
        //Create cookie
        return RedirectToAction("MyPage", "Home");
    }
    else
    {
        string User = HttpContext.Request.Cookies["User"].Value;
        foreach (var user in Data.MyUsers)
        {
            if (user.username == User)
            {
                //Do some stuff
                return View("MyPage");
            }
        }
        HttpContext.Request.Cookies.Remove("User");
        //HttpContext.Response.Cookies.Remove("User"); works not sorry ;(
        return RedirectToAction("MyPage", "Home");
    }
}

问题:由于应用程序在数据中找不到用户,因此应用程序不会删除cookie(为什么永远(并循环运行。(问题不是应用程序找不到用户,而是cookie问题(

问题:我如何解决这个问题,因为在我的另一个项目中,我工作得很好。我将其他项目中的代码复制并粘贴到新项目中,但在新项目中它将不起作用。是的,我使用相同版本的asp.net框架:(

希望你能帮我…我对c#的了解已经到了极限。。。。

非常感谢。

为什么我不能删除cookie

使用ExpireProperty,并将其设置为负值,这将使cookie过期,也就是说,这将从cookie列表中删除。

String cookieName = Request.Cookies["User"].Name;
HttpCookie userCookie = new HttpCookie(cookieName);
userCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(userCookie);

您不能删除客户端上的cookie,但可以使过期

https://msdn.microsoft.com/en-us/library/ms178195.aspx