“Context.User”可以为null吗?

时间:2010-08-04 12:09:13

标签: asp.net forms-authentication

在我的MasterPage代码隐藏中,我尝试获取经过身份验证的UserID(如果有):

public Guid CurrentUserID
    {
        get
        {
            Guid userID = new Guid();
            if (Context.User.Identity.IsAuthenticated)
            {
                MembershipUser user = Membership.GetUser(Context.User.Identity.Name);
                userID = (Guid)user.ProviderUserKey;
            }
            return userID;
        }
    }

一旦出现错误“对象引用未设置为对象的实例”。我怀疑问题是在Context.User = null的情况下。可能是原因吗?

1 个答案:

答案 0 :(得分:0)

也许用户在经过身份验证后被db删除,因此Membership.GetUser返回nulluser.ProviderUserKey已经抛出NullReferenceException