您的位置:首页 > 编程语言 > ASP

asp.net中如何删除cookie?

2008-03-26 09:49 525 查看
不能直接删除用户计算机中的 Cookie。但是,可以通过将 Cookie 的到期日期设置为过去的日期,让用户的浏览器来删除 Cookie。当用户下一次向设置该 Cookie 的域或路径内的页发出请求时,浏览器将确定该 Cookie 已到期并将其移除。

调用 Cookies集合的 Remove方法可从服务器端的集合中移除 Cookie,使 Cookie 不会被发送至客户端。但是,如果客户端已存在 Cookie,则

向 Cookie 分配已过去的到期日期

确定 Cookie 是否存在,如果存在则创建同名的新 Cookie。

将 Cookie 的到期日期设置为过去的某一时间。

将 Cookie 添加到 Cookies 集合对象。

下面的代码示例演示如何为 Cookie 设置已过去的到期日期。

Visual Basic
If (Not Request.Cookies("UserPreferences1") Is Nothing) Then
Dim myCookie As HttpCookie
myCookie = New HttpCookie("UserPreferences1")
myCookie.Expires = DateTime.Now.AddDays(-1D)
Response.Cookies.Add(myCookie)
End If

C#
if (Request.Cookies["UserSettings"] != null)
{
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}

编译代码

此示例需要:

一个 ASP.NET 网页。

一个先前编写的名为 UserSettings 的 Cookie,

可靠编程
出于安全原因,您只能读取属于同一域的页所设置的 Cookie。如果已经设置 Cookie 的 Path属性,则该 Cookie 也只能用于该域路径内的页和子文件夹。
在读取特定 Cookie 值时,请测试该 Cookie 是否存在以及它是否具有值,否则将发生异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: