asp.net中如何删除cookie?
不能直接删除用户计算机中的 Cookie。但是,可以通过将 Cookie 的到期日期设置为过去的日期,让用户的浏览器来删除 Cookie。当用户下一次向设置该 Cookie 的域或路径内的页发出请求时,浏览器将确定该 Cookie 已到期并将其移除。
调用 Cookies集合的 Remove方法可从服务器端的集合中移除 Cookie,使 Cookie 不会被发送至客户端。但是,如果客户端已存在 Cookie,则
向 Cookie 分配已过去的到期日期
-
确定 Cookie 是否存在,如果存在则创建同名的新 Cookie。
-
将 Cookie 的到期日期设置为过去的某一时间。
-
将 Cookie 添加到 Cookies 集合对象。
下面的代码示例演示如何为 Cookie 设置已过去的到期日期。
Visual BasicIf (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 是否存在以及它是否具有值,否则将发生异常。