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