Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple de code montre comment utiliser le service de découverte avec la méthode CrmServiceClient.DiscoverGlobalOrganizations.
Note
Cet exemple est limité à .NET Full Framework. Il existe un exemple plus récent compatible avec .NET Core qui utilise la méthode Dataverse.Client.ServiceClient.DiscoverOnlineOrganizationsAsync. 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
À l’aide des informations d’identification de l’utilisateur et de la valeur
cloud, le programme utilise la méthode statiqueGetAllOrganizationspour récupérer tous les environnements connus pour l’utilisateur.La méthode
GetAllOrganizationsdétecte si la valeurcloudest définie surCloud.Unknown. Si elle est définie sur ce membre, cette méthode choisit l′énumérationCloudet récupère tous les environnements trouvés à l′aide de la méthode statiqueGetOrganizationsForCloud.Si un centre de données spécifique est défini,
GetAllOrganizationsappelle simplementGetOrganizationsForCloudavec ces valeurs.La méthode
GetOrganizationsForCloudextrait l′URL du service de découverte du cloud de la décorationDescriptiondu membre et l′utilise avec les informations d′identification de l′utilisateur pour exécuter le message d′assistance CrmServiceDiscoverGlobalOrganizations.Une
System.ServiceModel.Security.SecurityAccessDeniedExceptionest prévue lorsque l’utilisateur n’a pas d’environnement dans un centre de données spécifique.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 uneWhoAmIRequestet renvoyerSystemUser.UserIdpour 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