【问题标题】:an error was encountered while retrieving the user profile检索用户配置文件时遇到错误
【发布时间】:2012-03-06 05:41:45
【问题描述】:

我在尝试检索用户个人资料时收到此错误:

An error was encountered while retrieving the user profile.

这是我的代码:

foreach(parentGroup.Users 中的 SPUser 父级)
{
    SPSecurity.RunWithElevatedPrivileges(委托()
    {
        使用(SPSite 提升站点 = 新 SPSite(site.ID))
        {
            使用(SPWeb提升Web = site.OpenWeb(web.ID))
            {
                提升Web.EnsureUser(parent.LoginName);
            }
        }
    });
    web.EnsureUser(parent.LoginName);
    尝试
    {
        UserProfile profile = upm.GetUserProfile(parent.LoginName);
        if ((bool)profile["ParentAssignmentSubscribe"].Value)
        {
            接收Parents.Add(new SlkUser(parent));
        }
    }
    捕获(异常前)
    {
        throw new Exception("未能加载 " + parent.LoginName + " 的配置文件以便向他们发送 web " + web.Name + "的分配通知。返回的错误是:" + ex.Message);
    }
}

显然该用户确实存在,因为我从组中获取了他的用户名,并且我也在使用 EnsureUser。怎么回事?

【问题讨论】:

    标签: sharepoint user-profile


    【解决方案1】:

    可能是因为您的进程找不到您的用户配置文件。

    您可以尝试以下步骤吗?

    1. 打开Central Administrator-→Security-→General Security,从Configure service account复制用户名  

    2. Open Central Administrator-→应用程序管理→服务应用程序→管理服务应用程序。

    3. 从您在第 2 步打开的页面中单击 User Profile Service,然后选择“Manage User Profile from People”

    4. 您可以通过在步骤1复制的用户名搜索用户配置文件,如果找不到,则可能是您的错误原因。

    5. 点击新建个人资料,为您的用户名创建一个新个人资料(在第1步)。

    【讨论】:

    • 嗯....我不知道我是怎么错过的。我发誓他的个人资料以前就存在过……谢谢!
    【解决方案2】:
    user = profileManager.GetUserProfile(_userName) 
    

    应该是:

    user = profileManager.GetUserProfile(@"domain name\username");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-14
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 2018-01-26
      相关资源
      最近更新 更多