因为我以前都是用Session来做用户登录的信息的;比如Session["UserID"]这个来做用户登录的ID号
但是现在有项目涉及到一个主网站多个子网站的方式,
这样的话他们共享不了Session没有办法做到一个地方登录其他网站得到他的登录信息的
所以我想用Cookies来代码Session
但因为很少用到Cookies所以问几个问题,谢谢1:您感觉用Session做登录ID好还是用Cookies来做好
2:在我写代码的时候如
   用户登录完成我向客户端写入一个cookie["UserID"],但还没有返还给前台页面的时候
   我读取这个cookie的时候取不到值
   如:
        //保存登录cookie
        string guid = Guid.NewGuid().ToString();
        Response.Cookies.Add(new HttpCookie("UserID", guid));
        //但这个时候程序还没有返还给客户端,而在我的另一个方法中有取当前用户登录的信息
        如:
        string userid = Request.Cookies["UserID"].Value;
        //这个时候就会取得上一次的cookie值那么您是怎么来处理这个问题的?
谢谢

解决方案 »

  1.   

    “怎么来处理这个问题”?这根本不是问题。往Response.Cookies写东西根本不会写到Request.Cookies,如果认为它们是同一个,是你的误解。错误的原因如此明显,该怎样写自己想吧。
      

  2.   

    public static void SetCookie(string key, string value, int expiresDays)
            {
                DateTime expires = DateTime.Now.AddDays(expiresDays);
                HttpCookie MyCookie = new HttpCookie(key);
                MyCookie.Domain = "yourdomain.com";
                MyCookie.Value = System.Web.HttpUtility.UrlEncode(value);
                MyCookie.Expires = expires;
                HttpContext.Current.Response.Cookies.Add(MyCookie);
            }
      

  3.   

    是的,我也知道,因为Response.cookies的时候,是向客户端写

    Request.cookies是读取客户端
    但因为现在同为在服务器端处理还没有发给客户端回掉
    所以他取不到我问如何来处理这种情况,让request.cookies可以访问到response.cookies中还没有向客户端写入的数据谢谢
      

  4.   

    这个ID是zyciis马夹系列吧...类似这种问题问了好几年了吧还在问?你这是不懂HTTP不清楚Session不明白Cookies...基础不够为什么不去补补,每次只求答案毫无长进...该反思下了吧...