一个项目里,有两个也面login.aspx,getCookie.aspx,在login.aspx也面里我写入了一个COOKIE,在本页面中再获取这个COOKIE没有问题.但是出现了下面两种情况:
1.login.aspx也面不关,新开一个窗口打开getCookie.aspx,读取写入的COOKIE,能读出来,但是再刷新一下,就读取不到了,查硬盘上相应的COOKIE文件也没有了.
2.login.aspx登陆后直接跳转到getCookie.aspx也面,也是上面的情况.希望能有人帮忙解答,很郁闷呀.

解决方案 »

  1.   

    你将写入的COOKIE写个过期时间呢
      

  2.   

    int number;
            char code;
            string checkCode = String.Empty;        System.Random random = new Random();        for (int i = 0; i < 5; i++)
            {
                number = random.Next();            if (number % 2 == 0)
                    code = (char)('0' + (char)(number % 10));
                else
                    code = (char)('A' + (char)(number % 26));            checkCode += code.ToString();
            }
    Response.Cookies.Add(new HttpCookie("myCode", checkCode));
      

  3.   

    过期时间设置了,否则在IE临时文件夹里也不会保存那个COOKIE了
    写入COOKIE的代码如下:
    Response.Cookies["UserInfo"].Value = Passport;
    Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(1); 读取COOKIE的代码如下:
    if (!IsPostBack)
    {
      if (Response.Cookies["UserInfo"] != null)
          Response.Write(Request.Cookies["UserInfo"].Value);
      else
          Response.Write("无");
    }
      

  4.   

    JS写cookie
    document.cookie="user="+name;
      

  5.   

            /// <summary>
            /// 写 Cookie
            /// </summary>
            /// <param name="key">键</param>
            /// <param name="obj">值</param>
            /// <param name="minutes">有效时间 (以分钟为单位)</param>
            /// <param name="domain">与此 Cookie 关联的域</param>
            /// <param name="httpOnly">指示是否可通过客户端脚本访问</param>
            /// <param name="path"> Cookie 路径</param>
            /// <param name="secure">指示是否使用安全套接字层(SSL)(即仅通过HTTPS)传输Cookie。</param>
            public static void Write(String key, String value, Int32 minutes, String domain, Boolean httpOnly, String path, Boolean secure)
            {
                if (String.IsNullOrEmpty(key))
                    throw new Exception("The key of Cookie is Empty or null.");
                if (value!= null)
                {
                    HttpCookie myCookie = new HttpCookie(key);
                    if (minutes != 0)
                        myCookie.Expires = DateTime.Now.AddMinutes((Double)minutes);
                    if (!String.IsNullOrEmpty(domain))
                        myCookie.Domain = domain;
                    myCookie.HttpOnly = httpOnly;
                    if (!String.IsNullOrEmpty(path))
                        myCookie.Path = path;
                    myCookie.Secure = secure;
                    myCookie.Value = value;
                    HttpContext.Current.Response.Cookies.Add(myCookie);
                }
            }
      

  6.   

    读取写入的COOKIE,能读出来,但是再刷新一下,就读取不到了:你删除if   (!IsPostBack) 
    我还是觉得你写的cookie有问题,代码看一下啊!!!!
      

  7.   

    仔细确认一下是否是每次刷新都丢失,是的话我无解,不是的话,你检查一下IIS的连接池, 将WEB园的个数设置为1看看,我的问题就是怎么解决的。