Beispiel bedingter Web-API-Operationen (C#)

Dieses .NET 6.0-Beispiel veranschaulicht, wie allgemeine Datenvorgänge mit der Dataverse-Web-API ausgeführt werden.

In diesem Beispiel wird der allgemeine Helfercode in der WebAPIService-Klassenbibliothek (C#) verwendet.

Hinweis

Dieses Beispiel implementiert die Dataverse-Vorgänge sowie die Konsolenausgabe, die unter Web-API-Bedingte Vorgänge-Beispiel aufgeführt sind, und nutzt bekannte C#-Konstrukte, die in Web-API-Beispiele (C#) aufgeführt sind.

Anforderungen

Diese Anforderungen müssen zum Erstellen und Ausführen dieses Beispiels erfüllt sein:

  • Microsoft Visual Studio 2022.
  • Zugriff auf Dataverse mit Rechten, um Datenvorgänge auszuführen.

Wie man dieses Beispiel ausführt

  1. Klonen Sie das PowerApps-Beispiele-Repository oder laden Sie es herunter.

  2. Suchen Sie den Ordner /dataverse/webapi/C#-NETx/ConditionalOperations/.

  3. Die Datei ConditionalOperations.sln mit Visual Studio 2022 öffnen

  4. Bearbeiten Sie die appsettings.json-Datei, um die folgenden Eigenschaftswerte festzulegen:

    Eigenschaften Anweisungen
    Url Die Url für Ihre Umgebung. Ersetzen Sie den https://yourorg.api.crm.dynamics.com-Wert des Platzhalters durch den Wert für Ihre Umgebung. Gehen Sie zu Entwicklerressourcen anzeigen, um die URL für Ihre Umgebung zu finden.
    UserPrincipalName Ersetzen Sie den you@yourorg.onmicrosoft.com-Wert des Platzhalters durch den UPN-Wert, den Sie für den Zugriff auf die Umgebung verwenden.
    Password Ersetzen Sie den yourPassword-Wert des Platzhalters durch das von Ihnen verwendete Kennwort.
  5. Die Datei appsettings.json speichern

  6. Drücken Sie F5, um das Beispiel auszuführen.

Code

Der Code für dieses Beispiel ist hier: PowerApps-Beispiele/dataverse/webapi/C#-NETx/ConditionalOperations/Program.cs

Veranschaulichung

Dieses Beispiel umfasst vier Regionen:

Abschnitt 0: Beispielaufzeichnungen erstellen

Vorgänge:

  • Einen Einzeldatensatz erstellen.
  • Ruft den Datensatz ab und speichert den ETag-Wert als initialAcctETagVal.

Abschnitt 1: Bedingungs-GET

Vorgänge:

  1. Versucht, die Datensatzeinstellung abzurufen, indem der If-None-Match-Header mit dem initialAcctETagVal-Wert festgelegt wird.

    Anfrage schlägt wie erwartet mit 304 NotModified fehl.

  2. Aktualisieren Sie den telephone1-Spaltenwert des -Datensatzes.

  3. Versuchen Sie, die Datensatzeinstellung erneut abzurufen, indem der If-None-Match-Header mit dem initialAcctETagVal-Wert festgelegt wird.

    Die Anforderung ist erfolgreich, da der anfängliche ETag-Wert nicht mehr übereinstimmt.

  4. Speichern Sie den neuen ETag-Wert als updatedAcctETagVal.

Abschnitt 2: Optimistische Parallelität beim Löschen und Aktualisieren

Vorgänge:

  1. Versuchen Sie, die ursprüngliche Kontoeinstellung zu löschen, indem der If-Match-Header mit dem initialAcctETagVal-Wert festgelegt wird.

    Anfrage schlägt wie erwartet mit 412 PreconditionFailed fehl.

  2. Versuchen Sie, die ursprüngliche Kontoeinstellung zu aktualisieren, indem der If-Match-Header mit dem initialAcctETagVal-Wert festgelegt wird.

    Anfrage schlägt wie erwartet mit 412 PreconditionFailed fehl.

  3. Versuchen Sie, die ursprüngliche Kontoeinstellung zu aktualisieren, indem der If-Match-Header mit dem updatedAcctETagVal-Wert festgelegt wird.

    Die Anforderung ist erfolgreich, da der ETag-Wert mit dem aktuellen Wert für den Datensatz übereinstimmt.

Abschnitt 3: Beispielaufzeichnungen löschen

Vorgänge: Ein Verweis auf jeden in diesem Beispiel erstellten Datensatz wurde einer Liste hinzugefügt, während sie erstellt wurde. Dieser Abschnitt sendet eine $batch-Aufforderung zum Löschen des Datensatzes.

Bereinigung

Standardmäßig löscht dieses Beispiel alle darin erstellten Datensätze. Wenn Sie die erstellten Datensätze nach Abschluss des Beispiels anzeigen möchten, ändern Sie die deleteCreatedRecords-Variable auf false und Sie werden aufgefordert, zu entscheiden, ob Sie die Datensätze löschen möchten.

Siehe auch

Bedingte Vorgänge mithilfe der Web-API ausführen
Dataverse-Web-API verwenden
WebAPIService-Klassenbibliothek (C#)
Web API Beispiele
Beispiel grundlegender Web-API-Operationen (C#)
Web API-Abfragedatenbeispiel (C#)
Web-API-Funktionen- und Aktionen-Beispiel (C#)
Beispiel für Web-API-Tabellenschemavorgänge (C#)
Web-API WebApiService-Beispiel für parallele Operationen (C#)
Beispiel für parallele Web-API-Vorgänge mit TPL Dataflow-Komponenten (C#)

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