Transition des applications vers Dataverse ServiceClient
Nous opérons une transition depuis SDK Microsoft Dataverse pour .NET pour inclure un nouveau client de service Web qui utilise la bibliothèque d’authentification Microsoft (MSAL) pour l’authentification. Cet article contient les informations dont vous avez besoin pour comprendre pourquoi nous apportons ces modifications, ce qui est impacté et comment mettre à jour vos applications clientes afin qu’elles continuent à fonctionner comme prévu.
Notes
Une partie de notre documentation existante pour développeur et de notre exemple de code utilise les API du SDK Dataverse qui se trouvent dans le package CoreAssemblies NuGet. Cet article décrit le nouveau package Dataverse.Client NuGet recommandé et les modifications nécessaires pour en faire usage. Les mises à jour de la documentation et de l’exemple de code se produisent au fil du temps.
Pourquoi la modification ?
Il y a quelques bonnes raisons pour les changements apportés au SDK Dataverse pour .NET. Quelques-unes sont répertoriées ci-dessous.
Prise en charge d’application multiplateforme
La nouvelle classe DataverseServiceClient prend en charge le développement .NET Core. Accédez à Microsoft.PowerPlatform.Dataverse.Client et sélectionnez l’onglet Frameworks pour voir quelles cibles de génération sont prises en charge.
Authentification MSAL
La bibliothèque d’authentification Microsoft Azure Active Directory (ADAL.NET) ne reçoit plus de support. La bibliothèque d’authentification Microsoft (MSAL.NET) est l’API d’authentification recommandée à l’avenir. Notre nouvelle API ServiceClient utilise MSAL alors que nos anciennes API CrmServiceClient utilisent ADAL.
Performances et avantages fonctionnels
La classe Dataverse ServiceClient
prend en charge une surface d’interface plus petite, l’authentification en ligne par instance et Microsoft.Extensions.Logging.ILogger. Comme pour l’authentification en ligne, vous pouvez transmettre une fonction de gestionnaire d’authentification personnalisée au constructeur ServiceClient
. De cette façon, vous pouvez avoir un gestionnaire d’authentification par connexion de service Web au lieu d’un seul par processus.
Qu’est-ce qui est impacté ?
Vous trouverez ci-dessous un bref résumé de l’impact sur certains types de projets de codage.
Plug-ins ou activités de workflow personnalisées – sans modification
Applications en ligne nouvelles ou existantes – vous devez lire cet article
Applications sur site – cet article ne vous concerne pas, pas encore
Que devez-vous faire ?
La bonne nouvelle est que les signatures des membres des classes ServiceClient
et CrmServiceClient
sont les mêmes, sauf que les noms de classe eux-mêmes sont légèrement différents. Le code d’application ne devrait pas nécessiter de modifications importantes.
Projets d’application (en ligne) basés sur .NET Framework
Pour mettre à jour vos projets d’application, procédez comme suit :
- Supprimez les anciens packages CoreAssemblies NuGet (et associés) de votre projet.
- Ajoutez le nouveau package Dataverse.Client NuGet à votre projet.
- Changez chaque mention de la classe CrmServiceClient en ServiceClient dans votre code.
- Corrigez toute incompatibilité d’espace de noms, car la nouvelle classe
ServiceClient
est maintenant dans l’espace de nomsMicrosoft.PowerPlatform.Dataverse.Client
.
Projets basés sur .NET Core (en ligne)
Ajoutez simplement le package Dataverse.Client NuGet à vos projets, ajoutez du code pour appeler les API du SDK Dataverse, et générez la build.
Plug-ins ou activités de workflow personnalisées
Vous n’avez vraiment rien à faire ici. Continuez à utiliser les packages Microsoft.CrmSdk.CoreAssemblies NuGet (et associés) avec .NET Framework 4.6.2.
Clients locaux
Laissez vos projets d’application et votre code tels quels. Continuez à utiliser le package Microsoft.CrmSdk.CoreAssemblies NuGet et la classe CrmServiceClient
. Cependant, prévoyez de mettre à jour vos projets en utilisant des clients de service personnalisés pour utiliser plutôt les classes CrmServiceClient
ou ServiceClient
à l’avenir. Consultez la chronologie prévue pour l’arrêt du point de terminaison SOAP 2011 ci-dessous.
Notes
Si vous utilisez une authentification personnalisée avec CrmServiceClient
, vous pouvez continuer à utiliser votre code d’authentification personnalisé avec ServiceClient
.
Exemples de code
Disponibles ici : Exemples de code ServiceClient
Chronologie
Le tableau suivant énumère quelques dates importantes à garder à l’esprit.
Délai d’exécution | Événement |
---|---|
Juin 2022 | Version en disponibilité générale du package Microsoft.PowerPlatform.Dataverse.Client NuGet |
Décembre 2022 | Fin de la prise en charge d’ADAL par Microsoft |
À une date ultérieure | Arrêt planifié du point de terminaison SOAP 2011 pour l’accès par des applications clientes n’utilisant pas nos clients de service (CrmServiceClient ou ServiceClient ) |
Important
La classe CrmServiceClient
continuera à fonctionner comme documenté même après la désactivation de l’authentification ADAL. Les deux classes de client de service continueront de fonctionner comme indiqué après la désactivation du point de terminaison SOAP 2011. Si nécessaire, nous pouvons publier un assembly mis à jour contenant des clients de service révisés que votre application devra charger au moment de l’exécution.
Voir aussi
Présentation de la bibliothèque d’authentification Microsoft (MSAL)
Migrer des applications vers la bibliothèque d’authentification Microsoft (MSAL)
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).