Partager via


Exemple : Bibliothèque parallèle de tâches avec CrmServiceClient

Cet exemple C# .NET montre comment utiliser la CrmServiceClient classe avec la bibliothèque parallèle de tâches (TPL).

Note

Vous pouvez également utiliser ServiceClient à la place de CrmServiceClient dans cet exemple.

La bibliothèque parallèle de tâches permet aux développeurs d’être plus productifs en simplifiant le processus d’ajout de parallélisme et de concurrence aux applications. L’ajout du parallélisme et de la concurrence peut améliorer considérablement le débit total pour les applications qui doivent effectuer un grand nombre d’opérations Dataverse pendant une courte période.

Spécifications

  • Visual Studio 2019 ou version ultérieure
  • Environnement de test Dataverse et identifiants de connexion utilisateur valides

Comment exécuter l’exemple

  1. Cloner le référentiel Exemples PowerApps pour en avoir une copie locale.
  2. Ouvrez le fichier dataverse\Xrm Tooling\TPLCrmServiceClient\TPLCrmServiceClient.sln dans Visual Studio.
  3. Appuyez sur F5 pour compiler et exécuter le programme.

Montre ce qui suit

Étant donné que la CrmServiceClient classe inclut la gestion des erreurs temporaires levées par les limites de protection du service Dataverse, la combinaison de TPL et CrmServiceClient est utile pour créer des applications qui peuvent optimiser le débit tout en étant résilientes aux erreurs de limite de protection du service en réessayant les demandes rejetées en raison de ces limites. La CrmServiceClient.Clone() méthode permet à TPL d’utiliser le client avec plusieurs threads.

Plus d’information : Limites de l’API de protection des services

Note

Vous pouvez également utiliser la ServiceClient.Clone méthode dans cet exemple de code au lieu d’utiliser CrmServiceClient.Clone() les mêmes résultats.

Cet exemple génère un certain nombre de lignes de table de compte à l’aide de la Parallel.ForEach méthode, puis utilise à nouveau cette technique pour supprimer les tables créées. Par défaut, cet exemple créera uniquement 10 lignes, ce qui n'est pas suffisant pour provoquer les erreurs de limite de l'API de protection du service. Si vous augmentez la valeur de la numberOfRecords variable à 1 0000, vous pouvez utiliser Fiddler pour observer comment certaines des demandes seront rejetées et réessayées.

Voir aussi

Bibliothèque parallèle de tâches (TPL)