Как получить два приложения-службы профилей пользователей с помощью C#?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/53722

Вопрос

Можно ли получить приложение-службу двух профилей пользователей?

  • 1).Сервис профилей пользователей1
  • 2).Служба профилей пользователей2

У меня есть код, который извлекает только приложение службы профилей первого пользователя, но нет второй.Как я могу получить доступ к приложению службы профилей 2-го пользователя с помощью кода?

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

Примечание:По какой-то причине оба приложения службы профилей пользователей предоставляются на одной ферме SharePoint.

Примечание:Для профилей пользователей не используется стандартная синхронизация.

Это было полезно?

Решение

Если в вашей ферме есть два приложения службы профилей пользователей, вам необходимо создать одну настраиваемую группу подключений для каждого веб-приложения в ферме.Затем вы можете изменить каждое приложение-службу профилей пользователей, чтобы оно было связано с другим веб-приложением.Это можно сделать, изменив приложения-службы, включенные в группу подключений приложений-служб по умолчанию.В коде используйте URL-адрес каждого веб-приложения, чтобы получить UserProfileManager каждого приложения-службы профилей пользователей

Другие советы

Хотя я согласен, что имея 2 пользовательских сервиса на ферме - это немного ореховая, надеюсь, ваш сайт только связан только с ним.Вы можете GetContext на объекте SPSITE, а не по умолчанию, что должно заставить вас, связанные с этим сайтом UPS.Если есть 2 Связанные ... Ну ... Я придется копать еще немного.Дайте мне знать, если это работает.

Приложение пользовательского профиля приложение будет иметь его прокси.Это позволит вам отличить эти два сервиса.Назначьте каждый прокси к другой прокси-группе (можно остаться в группе по умолчанию), а вторым, что вы можете назначить «myCustomgroup».Вот как вы можете создать это.

New-SPServiceApplicationProxyGroup –Name MyCustomGroup
.

Теперь вы можете перейти к центральному администрированию-> Application Management-> Настроить ассоциации приложений службы и назначить вашу новую прокси-группу в веб-приложении.Назначьте одну из предварительных приложений сервиса профиля пользователей к нему.И теперь вы готовы катиться.

И именно то, как вы можете получить контекст приложения услуг с использованием пользовательского имени группы прокси.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top