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.
Anmerkung
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
Klonen Sie das PowerApps-Beispiele-Repository oder laden Sie es herunter.
Suchen Sie den Ordner /dataverse/webapi/C#-NETx/ConditionalOperations/.
De Datei
ConditionalOperations.sln
mit Visual Studio 2022 öffnenBearbeiten 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.Die Datei
appsettings.json
speichernDrü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:
Versucht, die Datensatzeinstellung abzurufen, indem der
If-None-Match
-Header mit deminitialAcctETagVal
-Wert festgelegt wird.Anfrage schlägt wie erwartet mit
304 NotModified
fehl.Aktualisieren Sie den
telephone1
-Spaltenwert des -Datensatzes.Versuchen Sie, die Datensatzeinstellung erneut abzurufen, indem der
If-None-Match
-Header mit deminitialAcctETagVal
-Wert festgelegt wird.Die Anforderung ist erfolgreich, da der anfängliche ETag-Wert nicht mehr übereinstimmt.
Speichern Sie den neuen ETag-Wert als
updatedAcctETagVal
.
Abschnitt 2: Optimistische Parallelität beim Löschen und Aktualisieren
Vorgänge:
Versuchen Sie, die ursprüngliche Kontoeinstellung zu löschen, indem der
If-Match
-Header mit deminitialAcctETagVal
-Wert festgelegt wird.Anfrage schlägt wie erwartet mit
412 PreconditionFailed
fehl.Versuchen Sie, die ursprüngliche Kontoeinstellung zu aktualisieren, indem der
If-Match
-Header mit deminitialAcctETagVal
-Wert festgelegt wird.Anfrage schlägt wie erwartet mit
412 PreconditionFailed
fehl.Versuchen Sie, die ursprüngliche Kontoeinstellung zu aktualisieren, indem der
If-Match
-Header mit demupdatedAcctETagVal
-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
Verwenden der Dataverse-Web-API
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#)