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:

  1. Entfernen Sie die älteren CoreAssemblies (und die damit verbundenen) NuGet Pakete aus Ihrem Projekt.
  2. Fügen Sie das neuere Dataverse .Client NuGet Paket zu Ihrem Projekt hinzu.
  3. Ändern Sie jede Erwähnung der CrmServiceClient Klasse zu ServiceClient in Ihrem Code.
  4. Korrigieren Sie alle nicht übereinstimmenden Namespaces, da die neue ServiceClient Klasse jetzt im Microsoft.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 CrmServiceClientclass. 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).