Asp.Net中Response.Cookies.Remove 無法刪除COOKIE的問題解決方法

依依老貓發表於2013-07-09

登陸功能經常需要使用Cookie來儲存登陸資訊,可是在開發過程中,經常發現cookie無法刪除的問題。刪除的程式碼無非就是找到Cookie並刪除掉。

但是會發現

Response.Cookies.Remove 無法刪除COOKIE

原因是,Cookies是繼承集合物件,而微軟似乎有沒有去實現對應的Remove功能,所以無效。

我自己整了一個清楚所有cookie的簡單方法。如下:

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);
    }
}

 

相關文章