2012-03-06 7 views
0

を取得中にエラーがユーザープロファイルを取得しようとしたとき、私はこのエラーを取得していますが発生しました:ここユーザープロファイル

An error was encountered while retrieving the user profile. 

は私のコードです:

 
foreach (SPUser parent in parentGroup.Users) 
{ 
    SPSecurity.RunWithElevatedPrivileges(delegate() 
    { 
     using (SPSite elevatedSite = new SPSite(site.ID)) 
     { 
      using (SPWeb elevatedWeb = site.OpenWeb(web.ID)) 
      { 
       elevatedWeb.EnsureUser(parent.LoginName); 
      } 
     } 
    }); 
    web.EnsureUser(parent.LoginName); 
    try 
    { 
     UserProfile profile = upm.GetUserProfile(parent.LoginName); 
     if ((bool)profile["ParentAssignmentSubscribe"].Value) 
     { 
      receivingParents.Add(new SlkUser(parent)); 
     } 
    } 
    catch(Exception ex) 
    { 
     throw new Exception("failed to load profile of " + parent.LoginName + " in order to send them an assignment notification for web " + web.Name + ". The error returned was: " + ex.Message); 
    } 
} 

明らかにユーザーが存在しません、グループからユーザー名を取得しているため、また、EnsureUserも使用しています。何が起こっている?

答えて

0

あなたのプロセスがあなたのユーザープロフィールを見つけることができない可能性があります。

以下の手順を試すことができますか?設定サービスは

  • を開き、中央管理者 - →アプリケーション管理→サービスアプリケーション]→[サービスアプリケーションの管理アカウントから

    1. を開き、中央管理者 - →[セキュリティ→一般的なセキュリティは、ユーザー名をコピーします。あなたはSTEP2で開かれ、そしてあなたが見つけるカント場合は、あなたがステップ1でコピーしたユーザー名でユーザープロファイルを検索することができ

    2. 人々からのユーザープロファイルの管理]を選択しているページから

    3. クリックしてユーザープロファイルサービスそれはあなたの誤りの理由かもしれません。

    4. 新しいプロファイルをクリックし、ユーザー名の新しいプロファイルを作成します(手順1)。

  • +0

    うーん....私はこれを逃したか知りません。私は前に彼のプロフィールが存在することを誓う...ありがとう! – Nacht

    0
    user = profileManager.GetUserProfile(_userName) 
    

    代わりになる必要があります。

    user = profileManager.GetUserProfile(@"domain name\username"); 
    
    関連する問題