Utiliser le contrôle commun de connexion de l’outil XRM dans vos applications clientes

Le code pour l’authentification, le stockage et la récupération des informations d’identification et la journalisation des diagnostics Microsoft Dataverse est intégré dans le modèle afin que vous puissiez rapidement profiter de ces fonctionnalités dans vos applications clientes Windows pour Dataverse. Le contrôle de connexion commun est une implémentation du Microsoft.Xrm.Tooling.CrmConnectControl. Voici une image du contrôle.

Contrôle commun de connexion des outils XRM

Conditions préalables

  • .NET Framework 4.8 ou version ultérieure
  • Visual Studio 2019 ou version ultérieure
  • Accès Internet pour télécharger les packages NuGet requis
  • Accès réseau à un environnement de test Dataverse et identifiants de connexion valides

Créer une application WPF qui utilise le contrôle commun de connexion

Voici un moyen rapide de créer une application Windows Presentation Foundation (WPF) qui tire profit du contrôle commun de connexion et du code sous-jacent pour l’authentification, le stockage et la réutilisation des informations d’identification et le traçage ou la journalisation par défaut.

La demande complétée est disponible ici : AppWithLoginControl.

Créer un projet avec le contrôle de connexion

Commencez par créer une solution Visual Studio et le projet WPF, puis ajoutez-y le code XAML de contrôle de connexion.

  1. Lancez Visual Studio et créez un projet à l’aide du modèle Application WPF (.NET Framework) pour une application Windows C# Desktop.

    Nouveau projet basé sur un modèle

  2. Configurez le projet et ciblez .NET Framework 4.8.

    Configuration du projet

  3. Sélectionnez Projet > Gérer les packs NuGet. Parcourez ou recherchez les packages suivants et installez-les (dans l’ordre indiqué ci-dessous) dans le projet.

    • Microsoft.CrmSdk.XrmTooling.CoreAssembly
    • Microsoft.CrmSdk.XrmTooling.WpfControls

    Installer le package NuGet

  4. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis sélectionnez Ajouter > Nouveau dossier.

  5. Nommez le dossier « LoginUX », puis copiez le code XAML de contrôle de connexion dans ce dossier. Vous pouvez simplement glisser-déplacer le fichier ExampleLoginForm.xaml depuis l’explorateur de fichiers vers le dossier du projet Visual Studio et le fichier C # associé s’affiche également comme par magie dans le projet.

    Dossier LoginUX

  6. Tester la création de la solution (F6). Elle doit se créer sans erreurs ni avertissements.

Connecter le contrôle de connexion à l’application

Nous allons maintenant connecter le contrôle de connexion à l’application.

  1. Double-cliquez sur le fichier ExampleLoginForm.xaml dans l’explorateur de solutions. Vous devriez voir une image du contrôle dans le concepteur.

    Contrôle de connexion dans le concepteur de l’interface utilisateur

  2. Basculez vers l’onglet du concepteur MainWindow.xaml. Ajoutez un contrôle Bouton dans le concepteur et définissez les valeurs des propriétés Name et Common Content sur btnSignIn et Se connecter à Dataverse respectivement.

    Ajouter un bouton

  3. Double-cliquez sur le bouton pour ajouter du code pour l’événement Click du bouton. Une fenêtre d’édition de code pour le fichier de classe MainWindow s’affiche.

  4. Ajoutez l’exemple de code suivant dans l’événement Bouton_Click avec ce code (ci-dessous) pour appeler le contrôle de connexion, puis créez une instance de l’objet de connexion Dataverse.

private void Button_Click(object sender, RoutedEventArgs e)
{
    // Instantiate the login control.  
    ExampleLoginForm ctrl = new ExampleLoginForm();

    // Wire the button click event to the login response.   
    ctrl.ConnectionToCrmCompleted += ctrl_ConnectionToCrmCompleted;

    // Show the login control.   
    ctrl.ShowDialog();

    // Check that a web service connection is returned and the service is ready.     
    if (ctrl.CrmConnectionMgr != null && ctrl.CrmConnectionMgr.CrmSvc != null && ctrl.CrmConnectionMgr.CrmSvc.IsReady)
    {
        // Display the Dataverse version and connected environment name  
        MessageBox.Show("Connected to Dataverse version: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgVersion.ToString() +
            " Organization: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgUniqueName, "Connection Status");
        // TODO Additional web service operations can be performed here
    }
    else
    {
        MessageBox.Show("Cannot connect; try again!", "Connection Status");
    }
}
  1. Ajoutez la définition de la méthode de gestionnaire d’événements ctrl_ConnectionToCrmCompleted dans la classe MainWindow sous la méthode de gestionnaire d’événements Bouton_Click et au même niveau de retrait.
private void ctrl_ConnectionToCrmCompleted(object sender, EventArgs e)
{
    if (sender is ExampleLoginForm)
    {
        this.Dispatcher.Invoke(() =>
        {
            ((ExampleLoginForm)sender).Close();
        });
    }
}
  1. Ajoutez une instruction using au début du fichier C# afin que la classe ExampleLoginForm soit résolue.
using PowerApps.Samples.LoginUX;
  1. Créez le programme (F6). Elle doit se créer sans erreurs ni avertissements.

Tester le programme

Nous allons maintenant exécuter le programme et tester son fonctionnement.

  1. Exécutez le programme (F5).

  2. Sélectionnez le bouton Se connecter à Dataverse. Le contrôle de connexion s’affiche.

  3. La figure ci-dessous montre la sélection de l’environnement en ligne Office 365, puis la vérification de Afficher la liste des organisations disponibles pour voir une liste des environnements dont l’utilisateur est membre.

    Ouverture de session Office 365

  4. Sélectionnez Connexion.

  5. À l’invite de renseigner les informations de connexion, saisissez-les. Le compte saisi est sous la forme someone@my-env.onmicrosoft.com.

  6. Une liste des environnements est affichée dans le contrôle. Choisissez-en un et sélectionnez Connexion une seconde fois.

  7. Une boîte de dialogue du statut de la connexion s’affiche contenant la version Dataverse et le nom de l’organisation.

    Statut de la connexion

  8. Sélectionnez OK.

  9. Si vous cliquez à nouveau sur Se connecter à Dataverse, l’application vous invite à choisir les informations d’identification enregistrées lors de la dernière activité de connexion ou à entrer de nouvelles informations d’identification.

  10. Une fois les tests terminés, fermez la fenêtre du programme.

Voir aussi

Créer des applications clientes Windows à l’aide des outils XRM

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