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
Clonez ou téléchargez le référentiel Exemples PowerApps.
Localisez le dossier /dataverse/webapi/C#-NETx/ConditionalOperations/.
Ouvrir le fichier
ConditionalOperations.sln
en utilisant Visual Studio 2022Modifiez 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.Enregistrer le fichier
appsettings.json
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 :
Tente de récupérer l’enregistrement définissant l’en-tête
If-None-Match
avec la valeurinitialAcctETagVal
.La demande échoue avec
304 NotModified
comme prévu.Mettez à jour la valeur de la colonne
telephone1
de l’enregistrement.Essayez de récupérer à nouveau l’enregistrement en définissant l’en-tête
If-None-Match
avec la valeurinitialAcctETagVal
.La requête réussit, car la valeur ETag initiale ne correspond plus.
Stockez la nouvelle valeur ETag en tant que
updatedAcctETagVal
.
Section 2 : Accès concurrentiel optimiste sur la suppression et la mise à jour
Opérations :
Essayez de supprimer le compte d’origine en définissant l’en-tête
If-Match
avec la valeurinitialAcctETagVal
.La demande échoue avec
412 PreconditionFailed
comme prévu.Essayez de mettre à jour le compte d’origine en définissant l’en-tête
If-Match
avec la valeurinitialAcctETagVal
.La demande échoue avec
412 PreconditionFailed
comme prévu.Essayez de mettre à jour le compte d’origine en définissant l’en-tête
If-Match
avec la valeurupdatedAcctETagVal
.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é).