System.Web.HttpContext context = System.Web.HttpContext.Current;            if (context.User.Identity.Name != "") {
                return context.User.Identity.Name;
            }            if (context.Request.Cookies["IBuySpy_CartID"] != null) {
                return context.Request.Cookies["IBuySpy_CartID"].Value;
            }
            else {
                Guid tempCartId = Guid.NewGuid();                context.Response.Cookies["IBuySpy_CartID"].Value = tempCartId.ToString();                return tempCartId.ToString();
            }

解决方案 »

  1.   

    说的不对,请包涵:System.Web.HttpContext context = System.Web.HttpContext.Current;            if (context.User.Identity.Name != "") {
                    return context.User.Identity.Name;
                }  //1、如果当前用户名不为空,取得当前用户名。            if (context.Request.Cookies["IBuySpy_CartID"] != null) {
                    return context.Request.Cookies["IBuySpy_CartID"].Value;
                }  //2、如果存在ID为"IBuySpy_CartID"的cookie,取得cookie名。            else {
                    Guid tempCartId = Guid.NewGuid();                context.Response.Cookies["IBuySpy_CartID"].Value = tempCartId.ToString();                return tempCartId.ToString();
                }  //3、如果不存在ID为"IBuySpy_CartID"的cookie,创建一个ID为"IBuySpy_CartID",Value为tempCartId.ToString()的cookie;
      

  2.   

    Web服务器对HTML当前的请求(线程?)进行标识,
    因为可能同时很多用户对某页面进行请求访问,Web服务器是通过对客户端的每个用户(线程?)的标识进行识别.在这里,是对用户用cookie记录用户的标识,有则确认是它,没有则新建一个唯一标识.这样,你用Guid是一个很好的选择.
    你把楼上说的"用户名",理解为身分的唯一标识,你就可以理解了.祝你好运!