Pergunta

É possível obter dois aplicativos de serviço de perfis de usuário

  • 1).Serviço de perfil de usuário1
  • 2).Serviço de perfil de usuário2

Eu tenho um código que busca apenas o aplicativo de serviço de perfil do primeiro usuário, mas não o segundo.Como posso acessar o aplicativo de serviço de perfil de 2º usuário usando código?

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

Observação:Por algum motivo, ambos os aplicativos de serviço de perfis de usuário são provisionados no mesmo farm do SharePoint.

Observação:Nenhuma sincronização pronta para uso é usada para perfis de usuário.

Foi útil?

Solução

Se você tiver dois aplicativos de serviço de perfil de usuário em seu farm, será necessário criar um grupo de conexão personalizado para cada aplicativo Web no farm.Em seguida, você pode alterar cada aplicativo de serviço de perfil de usuário para ser associado a um aplicativo Web diferente.Isso pode ser feito alterando os aplicativos de serviço incluídos no grupo de conexão de aplicativo de serviço padrão.No código, use o URL de cada aplicativo Web para obter UserProfileManager de cada aplicativo de serviço de perfil de usuário

Outras dicas

Embora eu concorde que ter 2 serviços de perfil de usuário em uma fazenda seja um pouco maluco, espero que seu site tenha apenas 1 associado a ele.Você pode GetContext em um objeto SPSite, em vez de Default, o que deve fornecer o UPS associado a esse site.Se houver 2 associados...bem...Vou ter que cavar um pouco mais.Deixe-me saber se isso funciona.

O aplicativo User Profile Service terá seu proxy.Isso permitirá que você distinga esses dois serviços.Atribua cada proxy a um grupo de proxy diferente (um pode permanecer no grupo padrão) e, em segundo lugar, você pode atribuir a 'MyCustomGroup'.É assim que você pode criá-lo.

New-SPServiceApplicationProxyGroup –Name MyCustomGroup

Agora você pode ir para Administração Central->Gerenciamento de Aplicativos->Configurar associações de aplicativos de serviço e atribuir seu novo grupo de proxy ao aplicativo web.Atribua a ele um dos proxies de aplicativos do Serviço de Perfil de Usuário.E agora você está pronto para começar.

E é assim que você pode recuperar o contexto do aplicativo de serviço usando o nome do grupo de proxy personalizado.

 SPServiceApplicationProxyGroup applicationProxyGroup =   SPFarm.Local.ServiceApplicationProxyGroups["MyCustomGroup"];
 SPServiceContext serviceContext = SPServiceContext.GetContext(applicationProxyGroup, SPSiteSubscriptionIdentifier.Default);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top