2011-06-19 4 views
19

私はMVC Webサイトで作業しています。私のログアウトリンクには、現在のドメインクッキーをすべて削除したいと思っています。MVCのウェブサイトで現在のドメインCookieをすべて削除するにはどうすればよいですか?

this.ControllerContext.HttpContext.Response.Cookies.Clear(); 

と、この:

Response.Cookies.Clear(); 

が、両方が機能しなかったとクッキーまだ

は、私はこれを試してみました。

+0

可能重複[どのようにあなたのasp.net MVC 3とC#を使用して明確なクッキー?](http://stackoverflow.com/questions/5122404/how-do-you-clear-cookies-using- asp-net-mvc-3-and-c) –

+1

私は男が1つのクッキーを削除しようとしていたと思う。この男はすべてを削除したいと思っています – Swift

+0

はい、私はすべてのクッキーを消去したいのですが、1つではなく、1つのクッキーを削除しても問題ありませんでした。 –

答えて

42

これはいかがですか?

string[] myCookies = Request.Cookies.AllKeys; 
foreach (string cookie in myCookies) 
{ 
    Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1); 
} 
+0

これは非常にうまくいった、ありがとう。 –

+0

問題ありません。うれしい私は助けることができます。 – Swift

+0

シンプルですが:-) – vNext

1

これはどうですか?

if (Request.Cookies["cookie"] != null) 
    { 
     HttpCookie myCookie = new HttpCookie("cookie"); 
     myCookie.Expires = DateTime.Now.AddDays(-1d); 
     Response.Cookies.Add(myCookie); 
    } 
+0

これは現在のものを削除しない新しいクッキーを追加していますか? –

+0

申し訳ありません。これを確認してください。 –

+0

を編集して、既存のCookieと同じ名前の新しいCookieを追加することですが、有効期限は-1日ですか? –

関連する問題