Asp.Net中Response.Cookies.RemoveでCOOKIEを削除できない問題解決方法

1193 ワード

ログイン機能は常にCookieを用いてログイン情報を格納する必要があるが,開発過程ではCookieが削除できないという問題がしばしば発見される.削除したコードはCookieを見つけて削除することにほかならない.
でも気づく
Response.Cookies.RemoveはCOOKIEを削除できません
なぜなら、Cookiesは継承集合オブジェクトであり、マイクロソフトは対応するRemove機能を実現していないようなので無効です.
私は自分ですべてのクッキーをはっきりさせる簡単な方法を作った.次のようになります.
string[] cookieCollection = Request.Cookies.AllKeys;

foreach (string cookieKey in cookieCollection)

{

    HttpCookie cookie = Request.Cookies[cookieKey];

    if (null != cookie)

    {

        cookie.Expires = DateTime.Now.AddDays(-1);

        //     ,        Response.Cookies  

        Response.Cookies.Add(cookie);

    }

}