ASP - 方法只能使用调试器,为什么?

时间:2013-09-01 14:39:16

标签: c# asp.net debugging shopping-cart httpcontext

我用购物车建立了一个网站。

我有一个带有cartItems的表: * [ItemId] * [CartId] * [数量] * [创建日期] * [TeabagId]

这种方法应该做什么?

此方法返回用于检索当前用户购物车的ID(登录或注销)。如果用户已登录,则返回用户名。如果用户已注销,则返回随机字符串。

以下函数获取购物车ID

问题:

问题是,当没有附加调试器时,它会在登录并注销后返回用户名。

方法:

    public string GetCartId()
    {

        HttpContext Context = HttpContext.Current;
        if (Context.User.Identity.Name == null || Context.User.Identity.Name == "") // no user online
        {
            if (HttpContext.Current.Session[CartSessionKey] == null || HttpContext.Current.Session[CartSessionKey] == "")
            {
                Guid tempCartId = Guid.NewGuid();
                HttpContext.Current.Session[CartSessionKey] = tempCartId.ToString();
                return tempCartId.ToString();
            }
            else // sessie has cartId
            {
                return HttpContext.Current.Session[CartSessionKey].ToString();
            }
        }
        else // User is online
        {
            return Membership.GetUser().UserName;
        }
    }

0 个答案:

没有答案