如何:使用 Web 服务找出两个用户配置文件之间的相同内容
上次修改时间: 2006年4月24日
适用范围: SharePoint Server 2010
User Profile Service Web 服务提供若干方法,可以使用这些方法从远程查找用户配置文件中共同的经理、成员资格和联系人。
使用此代码之前,请将domainname 和 username 替换为实际值。此外,请在您的 Microsoft Visual Studio 项目中添加对以下内容的 Web 引用:
- Userprofileservice - 该 Web 服务位于 http://<网站 URL>/_vti_bin/userprofileservice.asmx。
示例
using System;
using System.Collections.Generic;
using System.Text;
namespace UserProfileWebServiceApp
{
class Program
{
public static localhost.UserProfileService myService =
new localhost.UserProfileService();
static void Main(string[] args)
{
myService.Credentials =
System.Net.CredentialCache.DefaultCredentials;
FindCommonColleagues();
FindCommonManager();
FindCommonMemberships();
FindInCommon();
}
static void FindCommonColleagues()
{
UserProfileWebService.localhost.ContactData[] contacts =
myService.GetCommonColleagues("domainname\\username");
for (int i = 0; i < contacts.Length; i++)
{
Console.WriteLine(contacts[i].Name);
}
Console.Read();
}
static void FindCommonManager()
{
UserProfileWebService.localhost.ContactData contact =
myService.GetCommonManager("domainname\\username");
Console.WriteLine(contact.Name);
Console.Read();
}
static void FindCommonMemberships()
{
UserProfileWebService.localhost.MembershipData[]
memberships =
myService.GetCommonMemberships("domainname\\username");
for (int i = 0; i < memberships.Length; i++)
{
Console.WriteLine(memberships[i].DisplayName);
}
Console.Read();
}
static void FindInCommon()
{
UserProfileWebService.localhost.InCommonData incommon =
myService.GetInCommon("domainname\\username");
for (int i = 0; i < incommon.Colleagues.Length; i++)
{
Console.WriteLine(incommon.Colleagues[i].Name);
}
Console.Read();
}
}
}