如何列出所有用户以及ASP.NET成员资格中的用户配置文件?

时间:2011-11-07 12:39:58

标签: silverlight membership

现在我正在使用silverlight项目,而且我一直在研究如何将所有用户和用户个人资料列在一起。

现在我正在使用此方法通过WCF获取所有用户

public IEnumerable<MembershipServiceUser> GetAllUsers()
{
    return Membership.GetAllUsers().Cast<MembershipUser>().Select(u => new MembershipServiceUser(u));
}

public void FromMembershipUser(MembershipUser user)
{
    this.Comment = user.Comment;
    this.CreationDate = user.CreationDate;
    this.Email = user.Email;
    this.IsApproved = user.IsApproved;
    this.UserName = user.UserName;
}

我可以从上面的代码中获取所有用户,但我不知道如何获取用户个人资料 例如。名字,姓氏等。

2 个答案:

答案 0 :(得分:0)

您可以创建ProfileBase的新实例,并使用方法GetPropertyValue("propertyName")访问配置文件字段,其中propertyName是您的自定义注册数据的名称。

var profile = ProfileBase.Create(user.UserName);
this.CustomProperty = profile.GetPropertyValue("customPropertyName");

我不是100%肯定语法,我来自vb环境并且暂时没有编写任何c#。

答案 1 :(得分:0)

ProfileInfoCollection profiles = ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All);
foreach (ProfileInfo pi in profiles)
{
        ProfileCommon p = Profile.GetProfile(pi.UserName);
        countries.Add(p.Country);        
}