如何:检索两个用户配置文件之间的共同之处

上次修改时间: 2010年1月27日

适用范围: SharePoint Server 2010

当用户访问另一个用户的配置文件页面时,Microsoft SharePoint Server 2010 会显示两个用户之间的所有共同之处,如:

  • 他们共同的经理

  • 他们同为其成员的通讯组列表和 Microsoft SharePoint 2010 网站

  • 他们共同的同事

该对象模型允许您查找任何两个用户配置文件实例之间的共同之处。下面的代码示例演示如何查找指定用户和当前登录用户共同的成员资格和共同的经理。

使用该代码示例之前,用实际的值替换 servername、domainname 和 username。此外,还应在 Microsoft Visual Studio 项目中添加对以下项目的引用:

  • Microsoft.Office.Server

  • Microsoft.Office.Server.UserProfiles

  • Microsoft.SharePoint

  • System.Web

示例

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server;
using Microsoft.Office.Server.Administration;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using System.Web;

namespace UserProfilesApp
{
    class Program
    {
        static void Main(string[] args)
        {

            using (SPSite site = new SPSite("https://servername"))
            {
                SPServiceContext context = SPServiceContext.GetContext(site);
                UserProfileManager profileManager =
                    new UserProfileManager(context);
                string sAccount = "domainname\\username";
                UserProfile u =
                    profileManager.GetUserProfile(sAccount);

                //Get common memberships
                MemberGroup[] mem =
                    u.Memberships.GetCommonMemberships();
                Console.WriteLine(mem[0].DisplayName);

                //Get common manager
                UserProfile manager = u.GetCommonManager();
                Console.WriteLine(manager["DisplayName"]);

            }

        }
    }
}

请参阅

任务

如何:检索用户配置文件

如何:检索用户配置文件属性

如何:使用更改日志获取最新用户配置文件更改

如何:使用 Web 服务找出两个用户配置文件之间的相同内容