ASP.NET cookie does not expire



我第一次在ASP中尝试cookie。问题是,无论我用多少种方式编写代码,cookie都不会过期。

制作饼干:

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

检查是否存在:

if (Request.Cookies["test"] != null)
    Response.Write("test");
else
    Response.Write("no test");

它总是显示"测试"。

您是在同一个请求中执行此操作吗?在这种情况下,旧cookie仍然存在于请求中,但不会出现在后续请求中。

您已经在客户端销毁了所有cookie
https://learn.microsoft.com/en-us/dotnet/api/system.net.cookie.expired?view=net-6.0使用这个代码,它对我有效。

<script>
    $(document).ready(function () {
        var cookies = document.cookie.split(";");
        for (var i = 0; i < cookies.length; i++) {
            var cookie = cookies[i];
            var eqPos = cookie.indexOf("=");
            var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
            document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
        }
    });
</script>

备注:
如果收到过期的cookie,客户端应用程序应将其销毁。

最新更新