如何使用 asp.net 在 Chrome 中删除或过期 cookie

Posted

技术标签:

【中文标题】如何使用 asp.net 在 Chrome 中删除或过期 cookie【英文标题】:How to delete or expire cookie in Chrome using asp.net 【发布时间】:2019-02-26 23:57:38 【问题描述】:

这是那些愚蠢的问题之一。答案应该很简单,但似乎不起作用。任何人有任何想法让我在哪里寻找一些代表?

我在单击按钮时添加 cookie

var impersonationCookie = new HttpCookie("UserImp_ImpAuid");
impersonationCookie.Value = Encode64(auidToImpersonate);
impersonationCookie.Expires = DateTime.Now.AddDays(1d);
impersonationCookie.Path = "/";
Page.Response.Cookies.Add(impersonationCookie);

我的 cookie 即将到期并清除 page_load 上的值

HttpCookie currentUserCookie = HttpContext.Current.Request.Cookies["UserImp_ImpAuid"];
HttpContext.Current.Response.Cookies.Remove("UserImp_ImpAuid");
currentUserCookie.Expires = DateTime.Now.AddDays(-10);
currentUserCookie.Value = null;
HttpContext.Current.Response.SetCookie(currentUserCookie);

Chrome (v 69) 仍显示值为 MDAwMDM5OTk2 且过期日期为 When the browsing session ends 的 cookie。

我尝试了很多其他问题的变体

Delete a cookie on signing out How to delete a cookie from .net How to delete cookies on an asp.net website

【问题讨论】:

***.com/questions/10617954/… 你试过不同的浏览器吗? @mjwills - 感谢推荐,但似乎没有用。我想我以前也试过这个。 @Girish 不,我没有尝试过其他浏览器。刚刚尝试了Firefox,看起来它没有问题。并感谢有关解释的链接。说得通。如果您想将此作为答案,我会在星期一确认/接受。 【参考方案1】:

正如评论中提到的,这可能是因为 chrome 设置“从上次中断的地方继续”。

您可以在不同的浏览器中交叉检查。

Chrome Doesn't Delete Session Cookies

【讨论】:

如果是这种情况,知道为什么到期日期和价值没有更新吗?我希望 Chrome 至少能够反映到期日期已更改并且值将被清除。

以上是关于如何使用 asp.net 在 Chrome 中删除或过期 cookie的主要内容,如果未能解决你的问题,请参考以下文章

在 Chrome 中托管在 Azure 中的 ASP.NET Core Web 应用程序上的异常 HTTP 响应

如何使用 Asp.net 删除临时文件

如何使用 jquery 从 asp.net 视图模型中动态删除行而不删除集合中的其余下一个对象

如何从 ASP.NET MVC 中的数据库中删除对象?

如何使用asp.net mvc删除jqgrid中的多个寄存器?

如何在 ASP.Net Gridview 中添加“确认删除”选项?