如何:使用 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();

        }
    }
}

请参阅

任务

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