现在我正在使用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;
}
我可以从上面的代码中获取所有用户,但我不知道如何获取用户个人资料 例如。名字,姓氏等。
答案 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);
}