登陸功能經常需要使用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); } }