我在我的 C# WebForms 应用程序中创建了一个 cookie,我正在 Windows 7 64 位的 IE10 上对其进行测试。
问题是我无法从后面的代码中删除 cookie。如果我刷新页面或只是单击超链接返回到完全相同的页面,该页面仍然可以读取 cookie。
我有一个弹出控件,响应用户按下确定按钮,将执行以下操作:
String key = "mycookiedata";
HttpCookie oCookie = null;
if (null != HttpContext.Current.Request.Cookies[key])
{
oCookie = HttpContext.Current.Request.Cookies[key];
oCookie.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Set(oCookie);
}
Session.Remove(key);
Session.Abandon();
Session.Clear();
后面的代码完成,控制权返回给用户。一切似乎都很好,直到我刷新页面并发现我认为被删除的 cookie 没有。出于好奇,我还尝试关闭浏览器窗口并在新浏览器中重新加载页面,但 cookie 仍然存在。注销的用户应该对他们真正注销并且 cookie 消失感到自在。
我错过了代码中的某些内容吗?