Apps umstellen auf Dataverse ServiceClient
Wir wechseln von Microsoft Dataverse SDK für .NET, um einen neuen Webdienstclient einzuschließen, der Microsoft Authentifizierungsbibliothek (MSAL) für die Authentifizierung verwendet. Dieser Artikel enthält die Informationen, die Sie benötigen, um zu verstehen, warum wir diese Änderungen vornehmen, was davon betroffen ist und wie Sie Ihre Clientanwendungen aktualisieren, damit sie weiterhin wie erwartet funktionieren.
Hinweis
Ein Teil der vorhandenen Entwicklerdokumentation und unser Beispielcode verwenden die Dataverse SDK-APIs im CoreAssemblies NuGet Paket. Dieser Artikel, beschreibt und empfiehlt das neue Dataverse .Client NuGet Paket und die Änderungen, die erforderlich sind, um es zu verwenden. Die Dokumentation und der Beispielcode werden im Laufe der Zeit aktualisiert.
Warum die Änderung?
Es gibt einige gute Gründe für die Änderungen an der Dataverse SDK für .NET. Einige sind unten genannt.
Plattformunabhängige Anwednungsunterstützung
Der neue Dataverse ServiceClient Klasse unterstützt die .NET Core-Entwicklung. Navigieren Sie zu Microsoft.PowerPlatform.Dataverse .Client und wählen Sie die Registerkarte Rahmen aus, um zu sehen, welche Build-Ziele unterstützt werden
MSAL-Authentifizierung
Microsoft Azure Active Directory Authentifizierungsbibliothek (ADAL.NET) wird nicht mehr unterstützt. Microsoft Authentifizierungsbibliothek (MSAL.NET) ist die empfohlene Authentifizierungs-API für die Zukunft. Unser neuer ServiceClient API verwendet MSAL, während unsere älteren CrmServiceClient API verwendet ADAL.
Leistungs- und Funktionsvorteile
Die Dataverse ServiceClient
-Klasse unterstützt eine kleinere Schnittstellenoberfläche, Inline-Authentifizierung nach Instanz und Microsoft.Extensions.Logging.ILogger. Wie bei der Inline-Authentifizierung können Sie eine benutzerdefinierte Authentifizierungs-Handler-Funktion an den ServiceClient
Konstruktor übergeben. Auf diese Weise können Sie einen Authentifizierungs-Handler pro Webservice-Verbindung statt nur einen pro Prozess haben.
Was ist betroffen?
Nachfolgend finden Sie eine kurze Zusammenfassung der Auswirkungen auf bestimmte Arten von Codierungsprojekten.
Plug-ins oder benutzerdefinierte Workflow-Aktivitäten – keine Änderungen
Neue oder bestehende Online-Anwendungen – dieser Artikel ist etwas für Sie
Lokale Anwendungen – dieser Artikel ist noch nichts für Sie
Was müssen Sie tun?
Die gute Nachricht ist, dass die Unterschriften der Klassenmitglieder von ServiceClient
und CrmServiceClient
gleich sind, außer dass die Klassennamen selbst etwas anders sind. Der Anwendungscode sollte keine wesentlichen Änderungen erfordern.
.NET Framework basierte (Online-)Anwendungsprojekte
Führen Sie die folgenden Schritte aus, um Ihre Anwendungsprojekte zu aktualisieren:
- Entfernen Sie die älteren CoreAssemblies (und die damit verbundenen) NuGet Pakete aus Ihrem Projekt.
- Fügen Sie das neuere Dataverse .Client NuGet Paket zu Ihrem Projekt hinzu.
- Ändern Sie jede Erwähnung der CrmServiceClient Klasse zu ServiceClient in Ihrem Code.
- Korrigieren Sie alle nicht übereinstimmenden Namespaces, da die neue
ServiceClient
Klasse jetzt imMicrosoft.PowerPlatform.Dataverse.Client
Namespace ist.
.NET Core-basierte (Online-)Projekte
Fügen Sie einfach das Dataverse .Client NuGet Paket zu Ihren Projekten hinzu, fügen Sie Code hinzu, um die Dataverse SDK-APIs und Build aufzurufen.
Plug-ins oder benutzerdefinierte Workflowaktivitäten
Hier gibt es nichts wirklich für Sie zu tun. Verwenden Sie weiterhin die Microsoft.CrmSdk.CoreAssemblies (und die damit verbundenen) NuGet-Pakete mit .NET Framework 4.6.2.
Lokale Clients
Lassen Sie Ihre Anwendungsprojekte und Ihren Code unverändert. Verwenden Sie weiter das Microsoft.CrmSdk.CoreAssemblies-NuGet-Paket und CrmServiceClient
class. Planen Sie jedoch, Ihre Projekte von der Verwendung benutzerdefinierter Dienstclients zu aktualisieren, um stattdessen die CrmServiceClient
oder ServiceClient
in naher Zukunft zu verwenden. Siehe geplante Zeitleiste für 2011 SOAP Endpunkt Herunterfahren unten.
Hinweis
Wenn Sie die benutzerdefinierte Authentifizierung mit CrmServiceClient
verwenden, können Sie Ihren benutzerdefinierten Authentifizierungscode weiterhin mit ServiceClient
verwenden.
Codebeispiele
Hier verfügbar: ServiceClient-Codebeispiele
Zeitskala
In der folgenden Tabelle sind einige wichtige Termine aufgeführt, die Sie beachten sollten.
Zeitrahmen | Veranstaltung |
---|---|
Juni 2022 | GA-Release des Microsoft.PowerPlatform.Dataverse.Client-NuGet-Pakets |
Dezember 2022 | Microsoft-Support für ADAL endet |
Zu einem späteren Zeitpunkt | Geplante Abschaltung des 2011 SOAP-Endpunkts für den Zugriff durch Client-Anwendungen, die nicht unsere Service-Clients verwenden (CrmServiceClient oder ServiceClient ) |
Wichtig
Die CrmServiceClient
-Klasse funktioniert weiterhin wie dokumentiert, auch nachdem die ADAL-Authentifizierung deaktiviert wurde. Beide Service-Client-Klassen funktionieren weiterhin wie dokumentiert, nachdem 2011 SOAP Endpunkt deaktiviert wurde. Bei Bedarf veröffentlichen wir möglicherweise eine aktualisierte Assembly mit überarbeiteten Dienstclients, die Ihre Anwendung zur Laufzeit laden muss.
Siehe auch
Übersicht über die Microsoft Authentication Library (MSAL)
Anwendungen zur Microsoft Authentication Library (MSAL) migrieren
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).