如何:检索两个用户配置文件之间的共同之处
上次修改时间: 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"]);
}
}
}
}