0

クッキーを削除しようとしているときに、ここで何が間違っているのかわかりません...誰か助けてもらえますか? これは、Cookieを削除しようとしているコードです。

if (Request.Cookies["RememberUser"] != null)
{  
    HttpCookie objCookie = Request.Cookies["RememberUser"];
    objCookie.Expires = DateTime.Now.AddDays(-1d);                        
    Response.Cookies.Add(objCookie);
}

上記のコードは Cookie を削除する権利がありますが、何らかの理由でこれが機能していません...

でクッキーを更新しようとしても、このコードは機能しません Response.Cookies.Set(objCookie);

4

1 に答える 1

0

上記のコードは機能しています。削除できない理由は驚​​くべきことです。問題は、作成した Cookie コードに表示される可能性があります。

    var cookie = this.Request.Cookies["user"];
    if (cookie == null)
    {
        cookie = new HttpCookie("user");
        cookie.Path = "/";
        cookie.Value = "123";
        this.Response.Cookies.Add(cookie);
    }
    else
    {
        cookie.Expires = DateTime.Now.AddDays(-1d);
        this.Response.Cookies.Add(cookie);
    }

サーバーからのCookieと応答ヘッダーなしの初回アクセス。

応答ヘッダー:

Date: Sun, 08 Apr 2012 02:18:37 GMT

X-AspNet-Version: 4.0.30319

Set-Cookie: user=123; path=/

サーバーからの Cookie と応答ヘッダーを使用して再度アクセスします。

応答ヘッダー:

Date: Sun, 08 Apr 2012 02:19:32 GMT

X-AspNet-Version: 4.0.30319

Set-Cookie: user=123; expires=Sat, 07-Apr-2012 02:19:32 GMT; path=/

およびリクエストヘッダー:

GET /
Cookie: user=123
.....

firebugFirefox またはソフトウェアを使用してfiddler、応答と要求を追跡し、Cookie を削除できない理由を確認できます。幸運を祈ります。

于 2012-04-08T02:24:39.510 に答える