Beispiel: Task Parallel Library mit CrmServiceClient
Dieses C# .NET-Beispiel zeigt, wie die CrmServiceClient-Klasse mit der Task Parallel Library (TPL) verwendet wird.
Hinweis
Sie können in diesem Beispiel den ServiceClient statt der CrmServiceClient-Klasse verwenden.
Mit der Task Parallel Library können Entwickler produktiver arbeiten, indem sie den Prozess des Hinzufügens von Parallelität und Gleichzeitigkeit zu Anwendungen vereinfacht. Durch Hinzufügen von Parallelität kann der Gesamtdurchsatz für Anwendungen, die eine große Anzahl von Dataverse-Vorgängen in kurzer Zeit ausführen müssen, erheblich verbessert werden.
Anforderungen
- Visual Studio 2019 oder höher
- Dataverse Testumgebung und gültige Benutzeranmeldeinformationen
Wie das Beispiel ausgeführt wird
- Klonen Sie das Repository PowerApps-Beispiele, sodass Sie eine lokale Kopie haben.
- Öffnen Sie die Datei
dataverse\Xrm Tooling\TPLCrmServiceClient\TPLCrmServiceClient.sln
in Visual Studio. - Drücken Sie F5, um das Programm zu kompilieren und auszuführen.
Veranschaulichung
Weil die CrmServiceClient-Klasse das Behandeln der vorübergehenden Fehler beinhaltet, die von den Dataverse-Dienstschutzeinschränkungen ausgelöst werden, ist die Kombination von TPL und CrmServiceClient
für die Erstellung von Anwendungen wertvoll, die den Durchsatz optimieren und gleichzeitig gegenüber der Fehler der Dienstschutzeinschränkungen resilient sind, indem Anforderungen, die aufgrund dieser Fehler abgelehnt werden, neu versucht werden. Die CrmServiceClient.Clone()-Methode ermöglicht es TPL, den Client mit mehreren Threads zu verwenden.
Für weitere Informationen gehen Sie zu: API-Grenzwerte für den Serviceschutz
Hinweis
Sie könnten mit den gleichen Ergebnissen auch die ServiceClient.Clone-Methode in diesem Beispielcode anstelle von CrmServiceClient.Clone() verwenden.
Dieses Beispiel generiert eine Reihe von Kontotabellenzeilen mit der Parallel.ForEach-Methode und verwendet diese Technik dann erneut, um die erstellten Tabellen zu löschen. Standardmäßig werden in diesem Beispiel nur 10 Zeilen erstellt, was nicht ausreicht, um die Fehler der Dienstschutz-API-Begrenzung zu treffen. Wenn Sie den Wert der Variablen numberOfRecords
auf 10000 erhöhen, können Sie mit Fiddler beobachten, wie einige der Anfragen abgelehnt und erneut geprüft werden.
Siehe auch
Parallele Aufgabenbibliothek (TPL)
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).