赢得';t删除

本文关键字:删除 赢得 | 更新日期: 2023-09-27 18:23:47

我感觉自己被饼干怪物吃掉了。我删除了cookie,它们马上就会回来。注销时,我执行以下代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        DeleteCookie("UserId");
        DeleteCookie("UserName");
        Session.Abandon();
        GoToPublicHomePage();
    }
    private void DeleteCookie(string name)
    {
        if (Request.Cookies[name] != null)
        {
            HttpCookie cookie = new HttpCookie(name);
            cookie.Expires = DateTime.Now.AddDays(-1);
            Response.Cookies.Add(cookie);
        }
    }

就在"GoToPublicHome()"调用之前,我检查了Request.Cookies以及UserId和UserName Cookies是否处于响应状态。

在GoToPublicHome调用后立即执行的Global.asax-->Session_Start代码中,它们已经回来了。。。就像一个坏便士。

赢得';t删除

您编写的代码指示.Net创建一个新的HttpCookie,而不是创建"仅当不存在时"。MSDN页面上有一个示例:http://msdn.microsoft.com/en-us/library/system.web.httpcookie.aspx

Response.Cookies.Remove(name)怎么样?