Share via


Exemple d’opérations conditionnelles de l’API web (C#)

Cet exemple .NET 6.0 montre comment effectuer des opérations de données communes à l’aide de l’API Web de Dataverse.

Cet exemple utilise le code d’assistance commun dans la Bibliothèque de classes WebAPIService (C#).

Notes

Cet exemple implémente les opérations Dataverse et de sortie de la console détaillées dans Exemple d’opérations conditionnelles de l’API Web et utilise les constructions C# courantes décrites dans Exemples de l’API Web (C#).

Conditions préalables

Les éléments suivants sont requis pour générer et exécuter cet exemple :

  • Microsoft Visual Studio 2022.
  • Accès à Dataverse avec les privilèges d′exécution des opérations de données.

Comment exécuter cet exemple

  1. Clonez ou téléchargez le référentiel Exemples PowerApps.

  2. Localisez le dossier /dataverse/webapi/C#-NETx/ConditionalOperations/.

  3. Ouvrir le fichier ConditionalOperations.sln en utilisant Visual Studio 2022

  4. Modifiez le fichier appsettings.json pour définir les valeurs de propriété suivantes :

    Property Instructions
    Url URL pour votre environnement. Remplacez la valeur https://yourorg.api.crm.dynamics.com de l’espace réservé avec la valeur de votre environnement. Voir Afficher les ressources pour développeurs pour trouver l’URL pour votre environnement.
    UserPrincipalName Remplacez la valeur you@yourorg.onmicrosoft.com de l’espace réservé avec la valeur UPN pour accéder à l’environnement.
    Password Remplacez la valeur yourPassword de l’espace réservé avec le mot de passe que vous utilisez.
  5. Enregistrer le fichier appsettings.json

  6. Appuyez sur F5 pour exécuter l’exemple.

Code

Le code de cet exemple est ici : PowerApps-Samples/dataverse/webapi/C#-NETx/ConditionalOperations/Program.cs

Montre ce qui suit

Cet exemple comprend quatre régions :

Section 0 : Créer des exemples d’enregistrements

Opérations :

  • Crée un seul enregistrement de compte.
  • Récupère l’enregistrement et stocke la valeur ETag en tant que initialAcctETagVal.

Section 1 : GET conditionnel

Opérations :

  1. Tente de récupérer l’enregistrement définissant l’en-tête If-None-Match avec la valeur initialAcctETagVal.

    La demande échoue avec 304 NotModified comme prévu.

  2. Mettez à jour la valeur de la colonne telephone1 de l’enregistrement.

  3. Essayez de récupérer à nouveau l’enregistrement en définissant l’en-tête If-None-Match avec la valeur initialAcctETagVal.

    La requête réussit, car la valeur ETag initiale ne correspond plus.

  4. Stockez la nouvelle valeur ETag en tant que updatedAcctETagVal.

Section 2 : Accès concurrentiel optimiste sur la suppression et la mise à jour

Opérations :

  1. Essayez de supprimer le compte d’origine en définissant l’en-tête If-Match avec la valeur initialAcctETagVal.

    La demande échoue avec 412 PreconditionFailed comme prévu.

  2. Essayez de mettre à jour le compte d’origine en définissant l’en-tête If-Match avec la valeur initialAcctETagVal.

    La demande échoue avec 412 PreconditionFailed comme prévu.

  3. Essayez de mettre à jour le compte d’origine en définissant l’en-tête If-Match avec la valeur updatedAcctETagVal.

    La requête réussit, car la valeur ETag correspond à la valeur actuelle de l’enregistrement.

Section 3 : Supprimer des exemples d’enregistrements

Opérations : une référence à chaque enregistrement créé dans cet exemple a été ajoutée à une liste lors de sa création. Cette section envoie une requête $batch de suppression de l’enregistrement.

Nettoyer

Par défaut, cet exemple supprime tous les enregistrements qui y sont créés. Si vous souhaitez afficher les enregistrements créés une fois l’exemple terminé, remplacez la variable deleteCreatedRecords par false et vous serez invité à décider si vous souhaitez supprimer les enregistrements.

Voir aussi

Effectuer les opérations conditionnelles à l′aide de l′API Web
Utilisation de l’API web Dataverse
Bibliothèque de classes WebAPIService (C#)
Exemples d’API Web
Exemple d’opérations de base de l’API Web (C#)
Exemples de données de requête d’API web (C#)
Exemple de fonctions et d’actions de l’API web (C#)
Exemple d’opérations de schéma de table de l’API web (C#)
Exemple d′opérations parallèles de l′API web WebApiService (C#)
Exemple d’opérations parallèles d’API Web avec des composants de flux de données TPL (C#)

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).