是否有可能获得两个用户配置文件服务应用程序

  • 1).用户配置文件服务1
  • 2).用户配置文件服务2

我有一些代码只获取Ist用户配置文件服务应用程序,但 不是 第二个。如何使用代码访问第二个用户配置文件服务应用程序?

SPServiceContext oServiceContext = SPServiceContext.GetContext(SPServiceApplicationProxyGroup.Default, SPSiteSubscriptionIdentifier.Default);
UserProfileManager oProfileManager = new UserProfileManager(oServiceContext);

注:出于某种原因,两个用户配置文件服务应用程序都在同一SharePoint场上提供。

注:没有开箱即用的同步用于用户配置文件。

有帮助吗?

解决方案

如果您的服务器场中有两个用户配置文件aervice应用程序,则需要为服务器场中的每个Web应用程序创建一个自定义连接组。然后,可以将每个用户简档服务应用程序更改为与不同Web应用程序相关联。它可以通过更改默认服务应用程序连接组中包含的服务应用程序来完成。在代码中,使用每个Web应用程序的url来获取 UserProfileManager 每个用户配置文件服务应用程序

其他提示

虽然我同意在农场上拥有2个用户配置文件服务是一点坚果,希望您的网站只有1个与之相关。您可以在spsite对象上getContext,而不是默认值,这应该让您关联与该站点关联的UPS。如果有2个关联......嗯......我必须挖得更多。如果有这个工作,请告诉我。

用户配置文件服务应用程序将具有它的代理。这将让您区分这两个服务。将每个代理分配给不同的代理组(一个可以留在默认组),而第二个可以分配给“MyCustomgroup”。这是您如何创建它的方式。

New-SPServiceApplicationProxyGroup –Name MyCustomGroup
.

现在您可以转到Central Administration->应用程序管理 - >配置服务应用程序关联并将您的新代理组分配给Web应用程序。将其中一个用户配置文件服务应用程序代理分配给它。现在你准备好了。

,这是如何使用自定义代理组名称检索服务应用程序上下文。

 SPServiceApplicationProxyGroup applicationProxyGroup =   SPFarm.Local.ServiceApplicationProxyGroups["MyCustomGroup"];
 SPServiceContext serviceContext = SPServiceContext.GetContext(applicationProxyGroup, SPSiteSubscriptionIdentifier.Default);
.

许可以下: CC-BY-SA归因
scroll top