• .net C# cookie清除问题


    找到相关的cookie,然后修改它为过期,然后执行重要的一步

    Response.Cookies.Add(aCookie);

    出处:http://www.webyj.net/News_View.aspx?id=7

    为什么在这一个页面清掉了cookie,但别的页面仍可以读出.代码如下:
    login.aspx:
    HttpCookie cookie = new HttpCookie("UserID")+Response.Cookies.Add(cookie)创建一个名为"UserID"的cookie,通过这个页面的一个文字链接转至loginout.aspx页,这个页面进入即运行下面的代码,
    loginout.aspx:
    Request.Cookies.Clear()并通过if语包判断Request.Cookies["UserID"] ==null条也成立.问题就是重新回到login.aspx页时,重新判断这个条件却是不成立的了,而出可以读出cookie值来.(问题都出在没有关闭浏览器的情况,关闭浏览器后再开就没有问题了.)
    请问高手们,这个问题应该如何解决??????????????????????????????/
    在线等,谢谢!!!

    问题补充:

    高手不行啊!请看看这个删除cookier代码
            HttpCookie cookie = new HttpCookie("UserID");
            cookie.Expires = DateTime.Now.AddDays(-100);
            Request.Cookies.Add(cookie);
            Request.Cookies.Remove("UserName");
            HttpCookie aCookie;
            string cookieName;
            int limit = Request.Cookies.Count;
            Request.Cookies.Clear();
            if (Request.Cookies["UserID"] == null || Request.Cookies["UserName"] == null)
            { Response.Redirect(“index.aspx”); }
            else
            { }
    而在login的状态里的条件仍旧不成立.
        protected void Page_Load(object sender, EventArgs e)
        { loginText.Text = " 会员请这里登陆";
          if (Request.Cookies["UserID"] != null || Request.Cookies["UserName"] != null)
           { //用户已登陆的情况
           leftlogin.Controls.Clear();}
          else
           { //用户没有登陆
              loginand.Controls.Clear();  }
        }
    
    无伦如何注消,二楼所说的也试过.结果一样,只有关闭游览器方可达没有"用户注消"的功能.

    最佳答案
    Request.Cookies.Clear()这个方法并不是删除Cookie
    
    
    删除 Cookie(即从用户的硬盘中物理移除 Cookie)是修改 Cookie 的一种形式。 
    由于 Cookie 在用户的计算机中,因此无法将其直接移除。 
    但是,可以让浏览器来为您删除 Cookie。 
    该技术是创建一个与要删除的 Cookie 同名的新 Cookie, 
    并将该 Cookie 的到期日期设置为早于当前日期的某个日期。 
    当浏览器检查 Cookie 的到期日期时,浏览器便会丢弃这个现已过期的 Cookie。 
    下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法: 
    
    HttpCookie aCookie;
    string cookieName;
    int limit = Request.Cookies.Count;
    for (int i = 0; i < limit; i++)
    {
    cookieName = Request.Cookies[i].Name;
    aCookie = new HttpCookie(cookieName);
    aCookie.Expires = DateTime.Now.AddDays(-1);
    Response.Cookies.Add(aCookie);
    }
    作者: 火地晋
    出处: http://yelaiju.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nonaggregated column...解决方案
    CentOS7 使用minikube 搭建kubernetes 学习环境
    5
    4
    3
    2
    1
    8
    7
    Algorithm
  • 原文地址:https://www.cnblogs.com/yelaiju/p/2346388.html
Copyright © 2020-2023  润新知