Pregunta

¿Es posible obtener dos aplicaciones de servicio de perfiles de usuario?

  • 1).Servicio de perfil de usuario1
  • 2).Servicio de perfil de usuario2

Tengo un código que solo recupera la aplicación de servicio de perfil del primer usuario, pero no el segundo.¿Cómo puedo acceder a la aplicación de Servicio de perfil de 2º Usuario mediante código?

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

Nota:Por alguna razón, ambas aplicaciones del Servicio de perfiles de usuario se aprovisionan en la misma granja de SharePoint.

Nota:No se utiliza ninguna sincronización lista para usar para los perfiles de usuario.

¿Fue útil?

Solución

Si tiene dos aplicaciones de servicios de perfil de usuario en su granja, deberá crear un grupo de conexión personalizado para cada aplicación web en la granja.Luego, puede cambiar cada aplicación de servicio de perfil de usuario para que se asocie con una aplicación web diferente.Se puede hacer cambiando las aplicaciones de servicio que se incluyen en el grupo de conexión de aplicaciones de servicio predeterminadas.En el código, use la URL de cada aplicación web para obtener UserProfileManager de cada aplicación de servicio de perfil de Usuario

Otros consejos

Aunque estoy de acuerdo en que tener 2 servicios de perfil de usuario en una granja es un poco de nuez, con suerte, su sitio solo tenga 1 asociado con él.Puede obtener el texto en un objeto SPSITE, en lugar de predeterminado, lo que debe obtener el UPS asociado a ese sitio.Si hay 2 asociados ... bueno ... Tendré que cavar en un poco más.Déjame saber si esto funciona.

La aplicación de servicio de perfil de usuario tendrá su proxy.Esto le permitirá distinguir estos dos servicios.Asigne cada proxy a un grupo de proxy diferente (uno podría permanecer en el grupo predeterminado) y el segundo que podría asignar a 'MyCustomgroup'.Así es como puedes crearlo.

New-SPServiceApplicationProxyGroup –Name MyCustomGroup

Ahora puede ir a la administración central-> Administración de aplicaciones-> Configurar asociaciones de aplicaciones de servicio y asignar su nuevo grupo proxy a la aplicación web.Asigne una de las aplicaciones de servicio de perfil de usuario proxies.Y ahora estás listo para rodar.

y así es como puede recuperar el contexto de la aplicación de servicio utilizando el nombre del grupo proxy personalizado.

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

Licenciado bajo: CC-BY-SA con atribución
scroll top