Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem .NET 6.0-Beispiel wird veranschaulicht, wie parallele Datenvorgänge mithilfe der Dataverse-Web-API mit TPL-Datenflusskomponenten (Task Parallel Library) ausgeführt werden. Mehr Informationen: Dataflow (Task Parallel Library).
In diesem Beispiel wird der allgemeine Helfercode in der WebAPIService-Klassenbibliothek (C#) verwendet.
Anforderungen
- Microsoft Visual Studio 2022.
- Zugriff auf Dataverse mit Rechten, um Datenvorgänge auszuführen.
Wie man dieses Beispiel ausführt
Klonen Sie das Repository Power Apps-Samples, oder laden Sie es herunter.
Suchen Sie den Ordner /dataverse/webapi/C#-NETx/TPLDataFlowParallelOperations/.
Öffnen der Datei
TPLDataFlowParallelOperations.slnmit Visual Studio 2022Bearbeiten Sie die
appsettings.json-Datei, um die folgenden Eigenschaftswerte festzulegen:Eigenschaften Anweisungen UrlDie 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.UserPrincipalNameErsetzen Sie den you@yourorg.onmicrosoft.com-Wert des Platzhalters durch den UPN-Wert, den Sie für den Zugriff auf die Umgebung verwenden.PasswordErsetzen Sie den yourPassword-Wert des Platzhalters durch das von Ihnen verwendete Kennwort.Die Datei
appsettings.jsonspeichernDrücken Sie F5, um das Beispiel auszuführen.
Code
Der Code für dieses Beispiel ist hier: PowerApps-Beispiele/dataverse/webapi/C#-NETx/TPLDataFlowParallelOperations/Program.cs
Veranschaulichung
Dieses Beispiel enthält Einstellungen, die Sie anwenden können, um Ihre Verbindung zu optimieren.
Dieses Beispiel sendet zunächst eine einfache Anforderung, um auf den Wert des x-ms-dop-hint Antwortheaders zuzugreifen, um die empfohlenen Parallelitätsgrade für diese Umgebung zu bestimmen. Wenn der maximale Parallelitätsgrad gleich dem Wert des x-ms-dop-hint-Antwortheaders festgelegt wird, sollten Sie einen stabilen Zustand erreichen, in dem der Durchsatz mit einem Minimum der zurückgegebenen 429 TooManyRequests-Dienstschutzgrenzwertfehler optimiert ist.
Um bei diesem Beispiel auf Dienstschutzgrenzwerte zu stoßen, sollten Sie die numberOfRecords-Variable auf über 10.000 oder was auch immer erforderlich ist, erhöhen, damit das Beispiel länger als 5 Minuten läuft. Sie sollten auch den Code ändern, damit maxDegreeOfParallelism deutlich größer als der Wert des x-ms-dop-hint Antwortheader ist. Anschließend sollten Sie mit Fiddler beobachten können, wie WebAPIService die Anforderungen wiederholt, die diesen Fehler zurückgeben.
Dieses Beispiel erstellt einfach eine konfigurierbare Anzahl von Kontodatensätzen, die es anschließend löscht. Dieses Beispiel verwendet Datenflusskomponenten, um die Datensätze zu verarbeiten und die Ergebnisse des Erstellungsvorgangs in die nächste Phase zu transformieren, in der diese Datensätze gelöscht werden. Aufgrund der Art dieses Dataflows beginnen Löschvorgänge für zuvor erstellte Datensätze, bevor alle zu erstellenden Datensätze abgeschlossen sind.
Vielleicht möchten Sie dieses Beispiel mit Web-API CDSWebApiService-Beispiel für parallele Vorgänge (C#) vergleichen.
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 in false. Sie werden dann aufgefordert, zu entscheiden, ob Sie die Datensätze löschen möchten.
Siehe auch
Verwenden der Dataverse-Web-API
WebAPIService-Klassenbibliothek (C#)
Erstellen einer Tabellenzeile mithilfe der Web-API
Tabellenzeilen über die Web-API aktualisieren und löschen
API-Grenzwerte für den Serviceschutz
Web-API-Beispiele
Beispiel grundlegender Web-API-Operationen (C#)
Beispiel fürWeb API-Abfragedaten (C#)
Beispiel bedingter Web-API-Vorgänge (C#)
Beispiel für Internet-API-Funktionen- und Aktionen (C#)
Beispiel für Web-API-Tabellen-Schemaoperationen (C#)
Web-API WebApiService-Beispiel für parallele Operationen (C#)