gpt4 book ai didi

c# - 清除 Cookie 不起作用?设置过期日期方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:50:36 27 4
gpt4 key购买 nike

我正在调用以下代码:

protected void SetCookieValue(
string sCookieName, object oValue, DateTime dtExpires)
{
Response.Cookies[sCookieName].Value = Utility.ToStringValue(oValue);
Response.Cookies[sCookieName].Expires = dtExpires;
Response.Cookies.Add(Response.Cookies[sCookieName]);
}

日期设置为 30 天前:

SetCookieValue(sCookieName, null, DateTime.Now.AddDays(-30.0));

为了强制cookie过期。它在我的开发箱(Windows 7、IIS7)上工作,但现在在 IIS6 上失败了。我没有更改这段代码,它似乎已经工作了一年多了,但是在生产站点上,我无法清除这个 cookie。

IE8 中的浏览器处于兼容模式(用于访问开发和生产。

有什么想法吗?


感谢您在正确方向上的插入。这是我最终得到的结果:

protected void SetCookieValue(
string cookieName, object value, DateTime expireDate)
{
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Value = Utility.ToStringValue(value);
cookie.Expires = expireDate;

if (Request.Cookies[cookieName] != null)
{
Response.SetCookie(cookie);
}
else
{
Response.Cookies.Add(cookie);
}
}

因此,当我杀死一个 cookie 时,我使用名称、一个空值和一个 DateTime.MinValue 过期日期来调用这个方法。如果 cookie 存在,它会被更新,如果不存在,它会随着过期而被添加。

我想使用相同的函数来创建或终止一个 cookie,从而将其排除在自己的 DeleteCookie 方法之外。我还完全重命名了 cookies 以确保我重新开始。对此我可能会遭到一些用户的反对,但是哎呀! :)

谢谢!答案被标记为让我朝着正确方向前进的人。

最佳答案

您应该从 Request.Cookies 检索 cookie , 然后将过期的 cookie 添加到 Response.Cookies :

public void DeleteCookie(string cookieName)
{
if (Request.Cookies[cookieName] != null)
{
HttpCookie myCookie = new HttpCookie(cookieName);
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
}

关于c# - 清除 Cookie 不起作用?设置过期日期方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/645305/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com