Exemple : utilisez CrmServiceClient pour accéder au service de découverte global

Cet exemple de code montre comment utiliser le service de découverte avec la CrmServiceClient.DiscoverGlobalOrganizations Method.

Notes

Cet exemple est limité à .NET Full Framework. Il existe un exemple plus récent compatible avec .NET Core utilisant la Dataverse.Client.ServiceClient.DiscoverOnlineOrganizationsAsync Method. Voir Exemple : service de découverte global (C#).

Comment exécuter cet exemple

Cet exemple n’ouvre pas de boîte de dialogue vous invitant à saisir les informations de connexion.

Si vous avez défini les valeurs dans les chaînes de connexion App.config, celles-ci sont utilisées. Sinon, définissez les variables username et password dans la méthode SampleProgram.Main.

En quoi consiste cet exemple :

Cet exemple utilise l′assembly SDK CrmServiceClient pour interroger le service de découverte global avec les informations d′identification d′un utilisateur afin de déterminer les environnements auxquels il peut se connecter.

Si un ou plusieurs environnements sont renvoyés, l’exemple invite l’utilisateur à en choisir un, puis à utiliser une WhoAmIRequest pour renvoyer le SystemUser.UserId pour cet environnement.

Utiliser cet exemple

Afin de simuler le scénario décrit dans En quoi consiste cet exemple, l’exemple procède comme suit :

Installation

Cet exemple ne requiert aucune configuration spécifique hormis qu’il y ait un nom et un mot de passe d’identification d’utilisateur valides à utiliser.

Si vous connaissez le centre de données régional dans lequel se trouve vos environnements, l’exemple s’exécute plus rapidement si vous définissez cette valeur sur la ligne 40 du fichier SampleProgram.cs.

Dans SampleMethods.cs, il existe une énumération Clouds pour chaque centre de découverte global connu. Chaque membre de l’énumération est accompagné d’une notation de type Description. Tous ces membres à l′exception de Unknown utilisent l′URL du service de découverte global comme description.

Démontrer

  1. À l’aide des informations d’identification de l’utilisateur et de la valeur cloud, le programme utilise la méthode statique GetAllOrganizations pour récupérer tous les environnements connus pour l’utilisateur.

  2. La méthode GetAllOrganizations détecte si la valeur cloud est définie sur Cloud.Unknown. Si elle est définie sur ce membre, cette méthode choisit l′énumération Cloud et récupère tous les environnements trouvés à l′aide de la méthode statique GetOrganizationsForCloud.

    Si un centre de données spécifique est défini, GetAllOrganizations appelle simplement GetOrganizationsForCloud avec ces valeurs.

  3. La méthode GetOrganizationsForCloud extrait l′URL du service de découverte du cloud de la décoration Description du membre et l′utilise avec les informations d′identification de l′utilisateur pour exécuter le message d′assistance CrmService DiscoverGlobalOrganizations.

    Une System.ServiceModel.Security.SecurityAccessDeniedException est prévue lorsque l’utilisateur n’a pas d’environnement dans un centre de données spécifique.

  4. Si des environnements sont renvoyés par la méthode GetAllOrganizations, ils sont répertoriés dans la console et vous êtes invité à en choisir un en saisissant un numéro. Si votre choix est valide, les données de l’environnement sélectionnées sont utilisées pour exécuter une WhoAmIRequest et renvoyer SystemUser.UserId pour l’utilisateur dans cet environnement.

Nettoyer

Cet exemple ne crée aucun enregistrement. Aucun enregistrement n’est requis.

Voir aussi

Découvrir les organisations d’utilisateur
Exemple : service de découverte global (C #)
Exemple : Blazor WebAssembly avec service de découverte global

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é).