Schnellstart: Eine SDK für .NET-Anforderung ausführen (C#)

Dieses Thema zeigt Ihnen, wie Sie mit der Verwendung von Klassen in SDK für .NET-Assemblys beginnen, mit denen Sie mir Microsoft Dataverse Geschäftsdaten arbeiten können. Sie erstellen eine minimale Konsolenanwendung, um mithilfe der ServiceClient Klasse eine Verbindung zum Organisationsservice Ihrer Umgebung herzustellen und eine Webdienstoperation auszuführen.

Ihre Anwendung ruft die IOrganizationService.Execute-Methode auf und übergibt eine Instanz der WhoAmIRequest Klasse. Das vom Webdienst zurückgegebene Ergebnis ist ein ausgefüllter WhoAmIResponse.UserId Wert, der die eindeutige Kennung Ihres Dataverse Systembenutzerkontos darstellt.

Hinweis

Dieses Schnellstart-Beispiel enthält aus Gründen der Kürze keine Ausnahmebehandlung. Dies ist ein Beispiel mit minimalem Code dafür, was Sie benötigen, um eine Verbindung mit dem SDK für .NET herzustellen und es zu verwenden.

Das vollständige Codebeispiel erhalten Sie von GitHub GetStarted. Weitere Informationen finden Sie in der README-Datei des Programms.

Anforderungen

  • Visual Studio (2022 oder höher)
  • Internetverbindung
  • Anmeldedaten von einem Dataverse Systembenutzerkonto für die Zielumgebung
  • URL-Adresse zur Dataverse-Umgebung, mit der Sie eine Verbindung herstellen möchten
  • Grundlegendes Verständnis der Visual C#-Sprache

Visual Studio-Projekt erstellen

  1. Erstellen Sie ein neues .NET-Konsolenanwendungsprojekt. Für dieses Projekt verwenden wir Visual Studio 2022 und zielen auf .NET 6 ab.

    Starten eines Konsolen-App-Projekts.

  2. Klicken Sie im Lösungs-Explorer mit der rechten Maustaste auf das von Ihnen erstellte Projekt und wählen Sie im Kontextmenü NuGet-Pakete verwalten... aus.

    NuGet-Paket hinzufügen.

  3. Navigieren Sie zur neuesten Version des Microsoft.PowerPlatform.Dataverse.Client NuGet-Pakets und installieren Sie es.

    Installieren Sie das Microsoft.PowerPlatform.Dataverse.Client NuGet-Paket.

Hinweis

Sie werden aufgefordert, die Vorschauänderungen zu bestätigen und dann Ich akzeptiere in dem Lizenzakzeptanz-Dialog auszuwählen.

Anwendungscode hinzufügen

  1. Im Lösungs-Explorer klicken Sie doppelt auf Program.cs, um diese Datei zu bearbeiten. Ersetzen Sie den Inhalt der Datei durch den unten gezeigten Code.

    using Microsoft.Crm.Sdk.Messages;
    using Microsoft.PowerPlatform.Dataverse.Client;
    using Microsoft.Xrm.Sdk;
    
    class Program
    {
       // TODO Enter your Dataverse environment's URL and logon info.
       static string url = "https://yourorg.crm.dynamics.com";
       static string userName = "you@yourorg.onmicrosoft.com";
       static string password = "yourPassword";
    
       // This service connection string uses the info provided above.
       // The AppId and RedirectUri are provided for sample code testing.
       static string connectionString = $@"
       AuthType = OAuth;
       Url = {url};
       UserName = {userName};
       Password = {password};
       AppId = 51f81489-12ee-4a9e-aaae-a2591f45987d;
       RedirectUri = app://58145B91-0C36-4500-8554-080854F2AC97;
       LoginPrompt=Auto;
       RequireNewInstance = True";
    
       static void Main()
       {
          //ServiceClient implements IOrganizationService interface
          IOrganizationService service = new ServiceClient(connectionString);
    
          var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
          Console.WriteLine($"User ID is {response.UserId}.");
    
    
          // Pause the console so it does not close.
          Console.WriteLine("Press the <Enter> key to exit.");
          Console.ReadLine();
       }
    }
    
  2. Ändern Sie die Werte für url, userName und password wie im Codekommentar // TODO angegeben.

    Hinweis

    Sie finden Ihre Umgebungs-URL in der Legacy-Webanwendung unter Einstellungen > Anpassung > Entwicklerressourcen oder in Power Apps Einstellungen (Zahnradsymbol) > Entwicklerressourcen.

    Während dieses Codebeispiel die Informationen zu Benutzername/Kennwort der Einfachheit halber in den Code einfügt, verwenden andere Codebeispiele den empfohleneren Ansatz, diese Informationen abzufragen oder sie in einer separaten App.config- oder appsettings.json-Datei zu speichern.

    Sie finden die unterstützten Werte für AuthType unter Verbindungszeichenkettenparameter.

Ausführen des Programms

Drücken Sie F5, um das Programm auszuführen. Die Ausgabe sollte in etwa so aussehen:

User ID is 969effb0-98ae-478c-b547-53a2968c2e75
Press any key to exit.

Verwenden Sie die IOrganizationService-Schnittstellenmethoden

Beachten Sie, dass der Dataverse.Client.ServiceClient, den dieses Programm verwendet, die IOrganizationService-Schnittstelle implementiert, die die Methode ausführen enthält.

Um die IOrganizationService Schnittstelle etwas besser zu sehen und zu verstehen, versuchen Sie Folgendes:

  1. Gehen Sie zum Referenzartikel für die WhoAmIRequest-Klasse.

  2. Kopieren Sie die Beispielmethode aus diesem Artikel. Normalerweise sieht es so aus:

    /// <summary>
    /// Outputs the data returned from the WhoAmI message
    /// </summary>
    /// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
    static void WhoAmIExample(IOrganizationService service) {
    
       var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
       Console.WriteLine($"OrganizationId:{response.OrganizationId}");
       Console.WriteLine($"BusinessUnitId:{response.BusinessUnitId}");
       Console.WriteLine($"UserId:{response.UserId}");
    
    }
    

    Beachten Sie, dass eine IOrganizationService Dienstinstanz als Parameter akzeptiert wird.

  3. Fügen Sie dieser WhoAmIExample Methode unterhalb der Main Methode in Ihr Programm ein

  4. Ersetzen Sie die Main Methode in Ihrem Programm durch diese:

        static void Main()
     {
         //ServiceClient implements IOrganizationService interface
         IOrganizationService service = new ServiceClient(connectionString);
    
         WhoAmIExample(service: service);
    
         // Pause the console so it does not close.
         Console.WriteLine("Press the <Enter> key to exit.");
         Console.ReadLine();
     }
    
  5. Führen Sie das Beispiel erneut aus und Sie sollten etwa Folgendes sehen:

    OrganizationId:883278f5-07af-45eb-a0bc-3fea67caa544
    BusinessUnitId:38e0dbe4-131b-e111-ba7e-78e7d1620f5e
    UserId:4026be43-6b69-e111-8f65-78e7d1620f5e
    Press the <Enter> key to exit.
    

Nächste Schritte

Da Sie nun über ein einfaches Konsolenprogramm verfügen, das eine Verbindung zu Dataverse herstellt, können Sie dieses Projekt verwenden, um andere Methoden und Nachrichten auszuprobieren. Mit diesem Quick Start-Konsolenanwendungsprojekt können Sie Ad-hoc-Tests durchführen.

Testen Sie andere IOrganizationService-Schnittstellenmethoden

Tipp

In unserer Dokumentation finden Sie viele Beispielmethoden wie diese WhoAmIExample, die einen IOrganizationService service Parameter akzeptieren.

Probieren Sie die Beispiele für diese IOrganizationService-Methoden Methoden aus:

Testen sie andere Meldungen

Weitere Nachrichten, die Sie mit der Execute-Methode aufrufen können, finden Sie in den folgenden Namensräumen:

Erfahren Sie, wie Sie mit Datensätzen arbeiten

In den folgenden Artikeln wird erläutert, wie Sie mit Geschäftsdaten in Dataverse Tabellen arbeiten:

Entdecken Sie unsere Codebeispiele

Sie finden SDK für .NET-Beispielcode in unserem GitHub-Repository unter PowerApps-Samples/dataverse/orgsvc.

Verwenden Sie ServiceClient-Erweiterungen

Zusätzlich zur Implementierung der IOrganizationService-Schnittstelle bietet ServiceClient Erweiterungsmethoden über die durch IOrganizationService definierten Kernmethoden hinaus und die Möglichkeit, die Protokollierung mit ILogger zu aktivieren. Weitere Informationen zur Verwendung des ServiceClient

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).