c# - C#中的删除cookie问题

标签 c# asp.net cookies

我正在尝试删除一个 cookie,但它没有被删除。这是我尝试使用的代码。

if (Request.Cookies["dcart"] != null)
{
    Response.Write(Request.Cookies["dcart"].Expires);
    // Response 1/1/0001 12:00:00 AM

    Response.Write(Request.Cookies["dcart"].Value);
    // Response 229884

    HttpCookie myCookie = new HttpCookie("dcart");
    myCookie.Expires = DateTime.Now.AddDays(-1d);
    myCookie.Value = "";
    Response.Cookies.Add(myCookie);
}

Response.Write(Request.Cookies["dcart"].Expires);
// Response 1/1/0001 12:00:00 AM
Response.Write(Request.Cookies["dcart"].Value);
// Response 229884

当我再次检索 cookie 时,没有任何变化。我检查了 FireFox 和 Chrome 的相同行为。有趣的一点是到期日期在浏览器上正确显示,但在代码上显示。

我尝试了以下但没有成功。

  • 将到期日设置为(明天),然后再次将其设置为昨天。
  • 重新启动浏览器(发生不同的浏览器和人)
  • 设置一些值
  • 使用 HttpContext.Current.Request.Cookies["dcart"]...
  • Request.Cookies["dcart"].Expires = DateTime.Now.AddYears(-10);

附言。代码不会直接在您的机器上运行,因为您没有 cookie。

最佳答案

已解决

问题出在路径上。我请求的 cookie 在“/store”路径下,我响应路径信息为“/”。

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

当我添加路径信息时,它被删除了。

注意:我使用 Firebug 来跟踪 cookie 路径。

关于c# - C#中的删除cookie问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13754541/

相关文章:

c# - 使用 Windows .NET 或 ASP.NET 应用程序时在何处存储数据库密码

c# - 如何使用 C# 隐藏和显示 html 模板表?

javascript - 为什么我设置cookie时出现多个重复的条目?

c# - 我可以在 ASP.Net Core 3.0 中使用 IEmailSender 接口(interface)向多个收件人发送电子邮件吗

c# - 根据前缀将整数字符串解析为十进制、八进制或十六进制

javascript - 在没有回发的情况下在表/ GridView 中查看/预览上传的文件

security - 如何检测用户是否从已识别的计算机连接?

Android CookieManager setCookie 创建多个cookie

c# - 在 Windows 应用程序中的 notifyicon 图标上显示文本

c# - 如何使用 DocX 库将文本正确导出到 Word