Asp.net中如何删除cookie?

asp.net中如何删除cookie?

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

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

向 Cookie 分配已过去的到期日期
  1. 确定 Cookie 是否存在,如果存在则创建同名的新 Cookie。

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

  3. 将 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);
    }

编译代码

 

此示例需要:

  1. 一个 ASP.NET 网页。

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

可靠编程

出于安全原因,您只能读取属于同一域的页所设置的 Cookie。如果已经设置 Cookie 的 Path属性,则该 Cookie 也只能用于该域路径内的页和子文件夹。

在读取特定 Cookie 值时,请测试该 Cookie 是否存在以及它是否具有值,否则将发生异常。

posted @ 2007-11-27 09:26  PointNet  阅读(4273)  评论(0编辑  收藏  举报