Aplicaciones de transición a Dataverse ServiceClient

Estamos en transición de Microsoft Dataverse SDK para .NET para incluir un nuevo cliente de servicio web que use la biblioteca de autenticación de Microsoft (MSAL) para la autenticación. Este artículo contiene la información que necesita para entender por qué estamos haciendo estos cambios, qué se ve afectado y cómo actualizar sus aplicaciones cliente para que continúen funcionando como se espera.

Nota

Parte de nuestra documentación de desarrollador existente y el código de muestra utiliza el Dataverse SDK API que se encuentran en el paquete CoreAssemblies NuGet. Este artículo que está leyendo describe el más nuevo y recomendado Dataverse.Client NuGet y los cambios necesarios para hacer uso de él. Las actualizaciones de la documentación y el código de muestra se realizan con el tiempo.

¿Por qué cambiar?

Hay bastantes buenas razones para cambiar de Dataverse SDK para .NET. Algunos se mencionan a continuación.

Soporte de aplicación multiplataforma

La nueva clase Dataverse ServiceClient admite el desarrollo de .NET Core. Vaya a Microsoft.PowerPlatform.Dataverse.Client y seleccione la pestaña Marcos de trabajo para ver qué objetivos de compilación son compatibles.

Autenticación MSAL

La biblioteca de autenticación de Microsoft Azure Active Directory (ADAL.NET) ya no recibe soporte. La biblioteca de autenticación de Microsoft (MSAL.NET) es la API de autenticación recomendada en el futuro. Nuestra nueva API ServiceClient usa MSAL mientras que nuestra API antigua CrmServiceClient usa ADAL.

Rendimiento y beneficios funcionales

La clase Dataverse ServiceClient admite una superficie de interfaz más pequeña, autenticación en línea por instancia e Microsoft.Extensions.Logging.ILogger. En cuanto a la autenticación en línea, puede pasar una función de controlador de autenticación personalizada al constructor ServiceClient. De esta forma, puede tener un controlador de autenticación por conexión de servicio web en lugar de solo uno por proceso.

¿Qué es impactado?

A continuación se muestra un breve resumen del impacto en ciertos tipos de proyectos de codificación.

  • Actividades de flujo de trabajo personalizadas o complementos: sin cambios

  • Aplicaciones en línea nuevas o existentes: este artículo es para usted

  • Aplicaciones locales: este artículo aún no es para usted

¿Qué necesita hacer?

La buena noticia es que las firmas de los miembros de la clase de ServiceClient y CrmServiceClient son las mismas, excepto que los nombres de las clases son ligeramente diferentes. El código de la aplicación no debería necesitar cambios significativos.

Proyectos de aplicaciones (en línea) basados en .NET Framework

Para actualizar sus proyectos de aplicación, siga estos pasos.

  1. Elimine los paquetes CoreAssemblies (y relacionado) NuGet de su proyecto.
  2. Agregue el paquete más reciente Dataverse.Client NuGet a su proyecto.
  3. Cambie cada mención de la clase CrmServiceClient a ServiceClient en su código.
  4. Solucione cualquier discrepancia de espacio de nombres ya que la nueva clase ServiceClient está ahora en el espacio de nombres Microsoft.PowerPlatform.Dataverse.Client.

Proyectos basados en .NET Core (en línea)

Simplemente agregue el paquete Dataverse.Client NuGet a sus proyectos, agregue código para llamar al Dataverse SDK API y compile.

Complementos o actividades de flujo de trabajo personalizadas

Realmente no tiene nada que hacer aquí. Continúe usando los paquetes Microsoft.CrmSdk.CoreAssemblies (y relacionado) NuGet con .NET Framework 4.6.2.

Clientes locales

Deje los proyectos y el código de su aplicación tal como están. Sigua usando el paquete Microsoft.CrmSdk.CoreAssemblies NuGet y la clase CrmServiceClient. Sin embargo, planifique actualizar sus proyectos para que no usen ningún cliente de servicio personalizado para usar en su lugar CrmServiceClient o ServiceClient próximamente. Consulte a continuación la escala de tiempo para el apagado de 2011 SOAP punto de conexión.

Nota

Si está utilizando autenticación personalizada con CrmServiceClient, puede continuar usando su código de autenticación personalizado con ServiceClient.

Ejemplos de código

Disponibles aquí: Ejemplos de código de ServiceClient

Escala de tiempo

La siguiente tabla enumera algunas fechas importantes a tener en cuenta.

Plazo de tiempo Evento
Junio 2022 Lanzamiento de GA del paquete Microsoft.PowerPlatform.Dataverse.Client NuGet
Diciembre de 2022 El Soporte técnico de Microsoft para ADAL termina
En una fecha futura Cierre planificado de SOAP 2011 punto de conexión para el acceso de aplicaciones cliente que no utilizan nuestros clientes de servicio (CrmServiceClient o ServiceClient)

Importante

La clase CrmServiceClient continuará funcionando como se documenta, incluso después de que se desactive la autenticación ADAL. Ambas clases de clientes de servicio seguirán funcionando según lo documentado después de que se haya desactivado el punto de conexión 2011 SOAP. Si es necesario, podemos publicar un ensamblado actualizado que contenga clientes de servicio revisados que su aplicación deberá cargar en tiempo de ejecución.

Consulte también

Descripción general de la Microsoft Authentication Library (MSAL)
Migrar aplicaciones a Microsoft Authentication Library (MSAL)

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).