我写了两个方法,一个是存cookie,一个是取cookie如下,我在本地测试很正常,但是放在服务器上却不知道是存的时候没有存进去还是怎样。反正就是读不出正确的cookie值,请高手帮忙看看。
在线等,有答案马上结贴,谢谢了!//存cookie
public static string getRegFromGet()
        {
            //自定义的KEY
            string key = "PromotionID";
            string tmp = "0";
            if (HttpContext.Current.Request.Cookies[key] != null)
            {
                if (HttpContext.Current.Request.Cookies[key].Value != null)
                {
                    tmp = HttpContext.Current.Request.Cookies[key].Value;
                }
            }
            return tmp;
        }        /// <summary>
        /// 给用户机写入cookie
        /// </summary>
        /// <param name="SourceID">活动ID</param>
        public static void setRegFromAdd(int SourceID,int days)
        {
            try
            {
                string key = "PromotionID";
                HttpCookie cookie = new HttpCookie(key);
                cookie.Value = SourceID.ToString();
                if (days > 0)
                {
                    cookie.Expires = DateTime.Now.AddDays(days);
                }
                HttpContext.Current.Response.Cookies.Add(cookie);
            }
            catch { }
        }

解决方案 »

  1.   

    我前两天系统上线也是cookie莫名其妙不见,你可以先用程序连接发布的程序,测试,看它是不是cookie用于是null,如果是这样,建议你换个windows server2003系统,我上次也是发布后,cookie用于是null,后来我装了一个我总在用的windows server2003,就完全没有问题了。
      

  2.   

    firebug监视一下,看看到底怎么回事
      

  3.   


    我们的服务器用的就是2003,我除了本地测试外,我们有一个专门的测试公网地址,在那里都正常,就是放到正式公网上就不正常了,除了数据库不一样外,其他都一样啊。这跟数据库也没有关系吧?
    我同一台电脑,同一个浏览器,查看cookie文件,结果本地的和测试公网的都能查到,就是正式的上面查不到,我要崩溃了。
    还有其他原因吗?谢谢了