Asp.Net中Response.Cookies.Remove 无法删除COOKIE的问题解决方法

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

 

posted @ 2013-07-09 16:27  依依老猫  阅读(1401)  评论(0编辑  收藏  举报