栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ASP.NET SQL配置文件提供程序-ProfileBase.Create()方法是否命中数据库?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ASP.NET SQL配置文件提供程序-ProfileBase.Create()方法是否命中数据库?

迈克,我相信您的观察是正确的。我正在使用将Azure
TableStorage用作数据存储的ProfileProvider。我想从数据库中获取用户配置文件列表,并将其与成员资格提供者的信息合并。我花了一段时间才意识到,以用户名作为参数调用Profilebase.Create()会对TableStorage进行查找,并实际上
检索 与该用户名关联的数据。就我而言,调用此方法 Create() 会产生误导,我期望 Load()Get()
。目前,我的代码如下所示:

    public IEnumerable<AggregatedUser> GetAllAggregatedUsers()    {        ProfileInfoCollection allProfiles = this.GetAllUsersCore(  ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All)        );        //AggregatedUser is simply a custom Class that holds all the properties (Email, FirstName) that are being used        var allUsers = new List<AggregatedUser>();        AggregatedUser currentUser = null;        MembershipUser currentMember = null;        foreach (ProfileInfo profile in allProfiles)        { currentUser = null; // Fetch profile information from profile store Profilebase webProfile = Profilebase.Create(profile.UserName); // Fetch core information from membership store currentMember = Membership.FindUsersByName(profile.UserName)[profile.UserName]; if (currentMember == null)     continue; currentUser = new AggregatedUser(); currentUser.Email = currentMember.Email; currentUser.FirstName = GetStringValue(webProfile, "FirstName"); currentUser.LastName = GetStringValue(webProfile, "LastName"); currentUser.Roles = Roles.GetRolesForUser(profile.UserName); currentUser.Username = profile.UserName; allUsers.Add(currentUser);        }        return allUsers;    }    private String GetStringValue(Profilebase profile, String valueName)    {        if (profile == null) return String.Empty;        var propValue = profile.PropertyValues[valueName];        if (propValue == null) return String.Empty;        return propValue.PropertyValue as String;    }

有没有更好的方法(更直接,更高效)

  1. 从配置文件提供者检索所有自定义配置文件信息,并
  2. 将它们与成员资格提供程序信息合并以在例如管理员页面中显示它们?

我看过Web Profile
Builder,但是IMO仅通过生成代理类为自定义配置文件属性提供设计时的智能感知。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614366.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号