asp.net中如何删除客户端的cookie 服务品是不能直接删除用户计算机中的 Cookie的。但是,可以通过将 Cookie 的到期日期设置为过期,让用户的浏览器自己来删除 Cookie。当用户下一次向设置该 Cookie 的域或路径内的页发出请求时,浏览器将确定检查到 Cookie 已到期,就会自动将其删除。
调用 Cookies集合的 Remove方法可以从服务器端的集合中移除 Cookie,使 Cookie 不会被发送至客户端。但是,如果客户端已存在 Cookie,则没有办法处理
所以要给要删除的Cookie设置一个过期时间就可以达到删除的目的了。
确定 Cookie 是否存在,如果存在则创建同名的新 Cookie。 将 Cookie 的到期日期设置为过去的某一时间。 将 Cookie 添加到 Cookies 集合对象。 下面是删除的方法大家参考一下
[C#] 纯文本查看 复制代码 foreach (HttpCookie cookie in Response.Cookies)
{
if (cookie.Name.Contains("smscookie_"))
{
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
}
} 使用foreach 的好处就是不需要判断Cookie是否存在。
Ok,就这样就可以删除了。
如果要删除单个 也很方便
将上面的代码做下修改就Ok了
[C#] 纯文本查看 复制代码 HttpCookie cookie=new HttpCookie();
cookie.Name="smscookie";
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
大家在使用时一定要先能清楚原理。
不要以为服务器和客户端的Cookie是同步的。
|