Démarrage rapide : exécuter une requête SDK pour .NET (C#)
Cette rubrique montre comment commencer à utiliser les classes dans le SDK pour les assemblys .NET dans le but d’utiliser les données commerciales de Microsoft Dataverse. Vous allez créer une application de console minimale pour vous connecter au service d’organisation de votre environnement en utilisant la classe ServiceClient pour exécuter une opération de service web.
Votre candidature appellera le Méthode IOrganizationService.Execute passer une instance du WhoAmIRequest classe. Le résultat renvoyé par le service Web est un fichier rempli WhoAmIResponse.UserId valeur qui est l’identifiant unique de votre Dataverse compte utilisateur du système.
Note
Cet exemple de démarrage rapide n’inclut pas la gestion d’exception par souci de concision. Il s’agit d’un exemple de code minimum de ce dont vous avez besoin pour vous connecter et utiliser le SDK pour .NET.
Vous pouvez obtenir l’exemple de code complet sur GitHub GetStarted. Consultez le README du programme pour plus de détails.
Conditions préalables
- Visual Studio (2022 ou version ultérieure)
- Connexion Internet
- Identifiants de connexion d’un compte utilisateur du système Dataverse pour l’environnement cible
- Adresse URL vers l’environnement Dataverse auquel vous voulez vous connecter
- Présentation de base du langage Visual C #
Lisez les informations importantes suivantes sur l’utilisation d’une chaîne de connexion ou de l’authentification par nom d’utilisateur/mot de passe dans le code d’application.
Important
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d’authentification décrit dans cet article nécessite un très haut degré de confiance dans l’application et comporte des risques qui ne sont pas présents dans d’autres flux. Vous ne devez utiliser ce flux que lorsque d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.
Créer un projet Visual Studio
Créez un projet d’application de console .NET. Pour ce projet, nous utilisons Visual Studio 2022 et ciblant .NET 6.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet que vous avez créé, puis sélectionnez Gérer les packages NuGet… dans le menu contextuel.
Recherchez la dernière version du package
Microsoft.PowerPlatform.Dataverse.Client
NuGet et installez-la.
Note
Vous êtes invité à accepter les modifications de la version préliminaire, sélectionnez ensuite J’accepte dans la boîte de dialogue Acceptation de la licence.
Ajouter un code d’application
Dans Explorateur de solutions, double-cliquez sur Program.cs pour modifier ce fichier. Remplacez le contenu du fichier par le code ci-dessous.
using Microsoft.Crm.Sdk.Messages; using Microsoft.PowerPlatform.Dataverse.Client; using Microsoft.Xrm.Sdk; class Program { // TODO Enter your Dataverse environment's URL and logon info. static string url = "https://yourorg.crm.dynamics.com"; static string userName = "you@yourorg.onmicrosoft.com"; static string password = "yourPassword"; // This service connection string uses the info provided above. // The AppId and RedirectUri are provided for sample code testing. static string connectionString = $@" AuthType = OAuth; Url = {url}; UserName = {userName}; Password = {password}; AppId = 51f81489-12ee-4a9e-aaae-a2591f45987d; RedirectUri = app://58145B91-0C36-4500-8554-080854F2AC97; LoginPrompt=Auto; RequireNewInstance = True"; static void Main() { //ServiceClient implements IOrganizationService interface IOrganizationService service = new ServiceClient(connectionString); var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest()); Console.WriteLine($"User ID is {response.UserId}."); // Pause the console so it does not close. Console.WriteLine("Press the <Enter> key to exit."); Console.ReadLine(); } }
Modifiez les valeurs du
url
,userName
, etpassword
comme l’indique le// TODO
commentaire de code.Note
L’URL de votre environnement se trouve dans l’application web héritée sous Paramètres > Personnalisation > Ressources du développeur ou dans Power Apps sous Paramètres (icône d’engrenage) >Ressources du développeur.
Même si cet exemple de code place les informations nom d’utilisateur/mot de passe dans le code pour plus de simplicité, d’autres exemples de code utilisent l’approche recommandée consistant à demander ces informations ou à les stocker dans un fichier App.config ou appsettings.json séparé.
Les valeurs prises en charge pour AuthType sont répertoriées dans Paramètres de la chaîne de connexion.
Exécuter le programme
Appuyez sur la touche F5 pour exécuter le programme. Le résultat doit ressembler à ce qui suit :
User ID is 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Press any key to exit.
Utilisez les méthodes de l’interface IOrganizationService
Notez que le Dataverse.Client.ServiceClient ce programme utilise implémente l’ IOrganizationService Interface qui inclut le Exécuter la méthode.
Pour voir et comprendre un peu mieux l’ IOrganizationService
interface, essayez ceci :
Accédez à l’article de référence sur la classe WhoAmIRequest.
Copiez l’exemple de méthode de cet article. Il ressemble à ça :
/// <summary> /// Outputs the data returned from the WhoAmI message /// </summary> /// <param name="service">Authenticated client implementing the IOrganizationService interface</param> static void WhoAmIExample(IOrganizationService service) { var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest()); Console.WriteLine($"OrganizationId:{response.OrganizationId}"); Console.WriteLine($"BusinessUnitId:{response.BusinessUnitId}"); Console.WriteLine($"UserId:{response.UserId}"); }
Notez qu’il accepte une
IOrganizationService
instance de service comme paramètre.Collez cette
WhoAmIExample
méthode sous laMain
méthode dans votre programmeRemplacez la
Main
méthode de votre programme par ceci :static void Main() { //ServiceClient implements IOrganizationService interface IOrganizationService service = new ServiceClient(connectionString); WhoAmIExample(service: service); // Pause the console so it does not close. Console.WriteLine("Press the <Enter> key to exit."); Console.ReadLine(); }
Exécutez à nouveau l’exemple et vous devriez voir quelque chose comme :
OrganizationId:00aa00aa-bb11-cc22-dd33-44ee44ee44ee BusinessUnitId:11bb11bb-cc22-dd33-ee44-55ff55ff55ff UserId:22cc22cc-dd33-ee44-ff55-66aa66aa66aa Press the <Enter> key to exit.
Étapes suivantes
Maintenant que vous disposez d’un programme console simple qui se connecte à Dataverse, utilisez ce projet pour essayer d’autres méthodes et messages. Vous pouvez utiliser ce projet d’application de console Quick Start pour effectuer des tests ad hoc.
Essayez un autre méthodes de l’interface IOrganizationService
Astuce
Dans notre documentation, vous pouvez trouver de nombreux exemples de méthodes comme celle-ci WhoAmIExample
qui acceptent un IOrganizationService service
paramètre.
Essayez les exemples de ces méthodes IOrganizationService :
Essayer autres messages
Vous pouvez trouver d’autres messages que vous pouvez appeler à l’aide de la méthode Execute dans ces espaces de noms :
Découvrir comment travailler avec des données d’enregistrement
Les articles suivants expliquent comment utiliser les données d’entreprise dans Dataverse tableaux :
- Opérations de classe d’entité utilisant le SDK pour .NET
- Créer des lignes de table à l’aide du SDK pour .NET
- Récupérer une ligne de table à l’aide du SDK pour .NET
- Mettre à jour et supprimer des lignes de table à l’aide du SDK pour .NET
- Associer et dissocier des lignes de tables à l’aide du SDK pour .NET
Découvrez nos exemples de code
Vous pouvez trouver un exemple de code SDK pour .NET dans notre référentiel GitHub à l’adresse PowerApps-Samples/dataverse/orgsvc.
Utiliser les extensions ServiceClient
En plus d’implémenter l’ interface IOrganizationService, ServiceClient offre des méthodes d’extension au-delà des méthodes de base définies par IOrganizationService
et la possibilité d’activer la journalisation avec ILogger. En savoir plus sur ServiceClient