Utiliser le contrôle commun de connexion de l’outil XRM dans vos applications clientes
Il existe un modèle pour Visual Studio qui vous permet d’utiliser le contrôle commun de connexion 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 commun de connexion est une implémentation de Microsoft.Xrm.Tooling.CrmConnectControl et le contrôle ressemble à l’image suivante.

Conditions préalables
- .NET Framework 4.6.2 ou version ultérieure.
- Visual Studio 2017 (recommandé)
- Connecté à Internet afin de pouvoir télécharger/restauration les packages Nuget requis lors de l’utilisation du modèle de projet.
Créer une application WPF à l’aide du modèle de 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.
Démarrez Visual Studio et créez un projet.
Dans la boîte de dialogue Nouveau projet :
- Dans la liste des modèles installés, développez Visual C#, puis sélectionnez Modèles SDK Dataverse.
- Assurez-vous que .NET Framework 4.6.2 est sélectionné.
- Sélectionnez Application WPF pour Dynamics 365.
- Spécifiez le nom et l’emplacement du projet, puis cliquez sur OK.

Notes
Problème connu avec Visual Studio 2015
Lorsque vous exécutez votre projet/solution dans VS 2015 en mode Débogage, vous risquez de ne pas pouvoir vous connecter. Cela se produit peu importe si vous utilisez la version 4.6.2 ou ultérieure de la structure cible. Cela survient, car le processus d’hébergement de Visual Studio est compilé par rapport à .NET 4.5. Autrement dit, par défaut, il ne prend pas en charge TLS 1.2. Vous pouvez désactiver le processus d’hébergement de Visual Studio pour contourner ce problème.
Cliquez avec le bouton droit sur le nom de votre projet dans Visual Studio, puis sur Propriétés. Sur l’onglet Débogage, vous pouvez décocher l’option Activer le processus d’hébergement de Visual Studio.
Cela ne concerne que l’expérience de débogage dans VS 2015. Cela ne concerne pas les binaires ou les exécutables qui sont créés. Le même problème ne se produit pas dans Visual Studio 2017.
Pour tester le projet :
Enregistrez le projet et appuyez sur F5, ou cliquez sur Débogage > Démarrer le débogage pour vérifier si la compilation du projet s’effectue correctement. Lorsque la compilation est réussie, un fichier MainWindow s’affiche, avec le bouton Se connecter à Dynamics 365. Cliquez sur le bouton pour afficher le contrôle commun de connexion.
Testez l’authentification en indiquant les informations d’identification pour vous connecter à Dataverse, puis cliquez sur Connexion. Un message affiche votre statut de connexion Dataverse.
Pour obtenir un exemple qui utilise le modèle de contrôle commun de connexion pour se connecter à Dataverse et effectuer différentes opérations, voir Exemple : Démarrage rapide de l’API des outils XRM.
Ajouter le modèle de contrôle commun de connexion à votre application WPF existante
Si vous disposez déjà d’une application cliente WPF, vous pouvez facilement y ajouter le modèle de contrôle commun de connexion pour profiter de l’expérience de connexion uniforme 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 Dataverse. Dans ce cas, vous devez créer un contrôle dans l’interface utilisateur de votre application cliente existante pour appeler le contrôle commun de connexion, instancier une instance de l’objet de connexion Dataverse, puis utiliser l’objet de connexion pour effectuer plusieurs opérations dans Dataverse.
Ouvrez un projet d’application WPF existant dans Visual Studio. Dans cet exemple, supposons que le nom de votre projet d’application WPF est
SampleWPFApp.Ajoutez le modèle de contrôle commun de connexion à votre projet.
Dans le volet Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Ajouter > Nouvel élément.
Dans la boîte de dialogue Ajouter un nouvel élément, dans la liste des modèles installés, développez Visual C#, puis sélectionnez Modèles SDK Dataverse. Cliquez sur Formulaire de connexion Dataverse pour les applications WPF, puis cliquez sur OK.

Le contrôle de connexion
CrmLoginForm1.xamlque vous venez d’ajouter s’affiche dans la zone du concepteur XAML. Si ce n’est pas le cas, double-cliquez sur le fichierCrmLoginForm1.xamldans le volet Explorateur de solutions.
Vous devez désormais appeler le contrôle de connexion que vous venez d’ajouter à partir de votre application. Pour ce faire, ajoutez un contrôle Bouton dans votre fichier
MainWindow.xaml, puis définissez respectivement le nom et le contenu sur btnSignIn et Se connecter à Dataverse.
Double-cliquez sur le bouton pour ajouter du code pour l’événement Click du bouton btnSignIn dans le fichier
MainWindow.xaml.cs.Ajoutez l’exemple de code suivant dans l’événement Clic du bouton btnSignIn pour appeler le contrôle
CrmLoginForm1, puis créez une instance de l’objet de connexion Dataverse.
// Establish the Login control.
CRMLoginForm1 ctrl = new CRMLoginForm1();
// Wire event to login response.
ctrl.ConnectionToCrmCompleted += ctrl_ConnectionToCrmCompleted;
// Show the login control.
ctrl.ShowDialog();
// Handle the returned CRM connection object.
// On successful connection, display the CRM version and connected org name
if (ctrl.CrmConnectionMgr != null && ctrl.CrmConnectionMgr.CrmSvc != null && ctrl.CrmConnectionMgr.CrmSvc.IsReady)
{
MessageBox.Show("Connected to CRM! Version: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgVersion.ToString() +
" Org: " + ctrl.CrmConnectionMgr.CrmSvc.ConnectedOrgUniqueName, "Connection Status");
// Perform your actions here
}
else
{
MessageBox.Show("Cannot connect; try again!", "Connection Status");
}
- Ajoutez la définition de l’événement
ctrl_ConnectionToCrmCompletedsous l’événement Click du bouton :
private void ctrl_ConnectionToCrmCompleted(object sender, EventArgs e)
{
if (sender is CRMLoginForm1)
{
this.Dispatcher.Invoke(() =>
{
((CRMLoginForm1)sender).Close();
});
}
}
Voici comment s’affiche votre fichier
MainWindow.xaml.csaprès l’ajout du code issu des deux étapes précédentes :
Pour tester le projet :
Enregistrez le projet et appuyez sur F5, ou cliquez sur Débogage > Démarrer le débogage pour vérifier si la compilation du projet s’effectue correctement. Lorsque la compilation est réussie, un fichier MainWindow s’affiche, avec le nouveau bouton Se connecter à Dataverse. Cliquez sur le bouton pour afficher le contrôle commun de connexion.
Testez l’authentification en indiquant les informations d’identification pour vous connecter à Dataverse, puis cliquez sur Connexion. Si l’opération est réussie, un message s’affiche pour indiquer la version et le nom de l’organisation à laquelle vous êtes connecté. Cliquez sur OK pour fermer le message.

Si vous cliquez à nouveau sur Se connecter à Dynamics 365, 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.

Voir aussi
Exemple : Démarrage rapide de l’API des outils XRM
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é).
Commentaires
Envoyer et afficher des commentaires pour