无法删除/删除cookie

时间:2018-02-27 12:18:19

标签: c# .net cookies

我已使用以下代码设置了Cookie。

 HttpCookie cookie = new HttpCookie("test");
 cookie.Expires = DateTime.Now.AddDays(1);
 cookie.Values.Add("UserID", UserID);
 cookie.Values.Add("UserName", UserName);
 cookie.Values.Add("IsUserAdmin", IsUserAdmin.ToString());
 HttpContext.Response.Cookies.Add(cookie);

我使用下面的代码删除/删除cookie。

 HttpCookie cookie = new HttpCookie("test");
 cookie.Expires = DateTime.Now.AddDays(-1d);
 Response.Cookies.Add(cookie);

但是我无法删除/删除cookie 有没有更好的方法来删除cookie?
请给我一些建议。

3 个答案:

答案 0 :(得分:1)

编辑: 在发布此答案时,OP发布的代码显示删除了Partner_Portal_Cookie cookie。从那时起,已发布的代码已被编辑。

您是否正在尝试删除test Cookie? 您的代码示例显示您删除了Partner_Portal_Cookie Cookie。

尝试类似:

if (Request.Cookies["test"] != null)
{
    HttpCookie myCookie = new HttpCookie("test");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    Response.Cookies.Add(myCookie);
}

示例来自mdsn。基本上我们正在检查cookie是否存在。如果是,请使用同名创建一个新Cookie,并将过期日期设置为过去。

答案 1 :(得分:0)

+------+-------------------+
| user | friend1 | friend2 |
+------+---------+---------+
|user1 | Adam    | Filip   | 
|user2 | Boris   | Norbert |
|user3 | Filip   | Carol   |
|user4 | Carol   | Filip   |
|user5 | Boris   | Patricia|
+------+---------+---------+

此代码正在我这边工作。

答案 2 :(得分:-1)

试试这个:

public static void ClearCookies()
            {
                HttpCookie cookie = new HttpCookie("test");

                cookie.Name = "test";
                cookie.Value = string.Empty;
                cookie.Expires = DateTime.Now.AddDays(-1);

                if (HttpContext.Current.Response.Cookies.AllKeys.Contains("test"))
                {
                    HttpContext.Current.Response.Cookies.Set(cookie);
                }
                else
                {
                    HttpContext.Current.Response.Cookies.Add(cookie);
                }
            }