Guide pas-à-pas : Créer un contrôle hébergé personnalisé pour Unified Service Desk

Dans cette rubrique, vous allez apprendre à créer un contrôle hébergé personnalisé appelé My Custom Control avec une action personnalisée. Le contrôle hébergé personnalisé possède deux contrôles Windows Presentation Foundation (WPF) : un bouton qui appelle le contrôle hébergé du débogueur et une étiquette de texte affichant le nom d’utilisateur lorsqu’une action personnalisée MyCustomAction, est appelée.

Contenu de la section

Conditions préalables

Créer un contrôle hébergé personnalisé

Tester votre contrôle hébergé personnalisé

Conditions préalables

  • Microsoft .NET Framework 4.6.2

  • Application cliente Unified Service Desk ; l’application cliente est requise pour tester le contrôle hébergé

  • Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • NuGet Package Manager pour Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • Modèles SDK CRM pour Visual Studio qui contiennent le modèle de projet de contrôle hébergé personnalisé. Téléchargez les modèles CRM SDK depuis la galerie Visual Studio et double-cliquez sur le fichier CRMSDKTemplates.vsix pour installer le modèle dans Visual Studio.

Créer un contrôle hébergé personnalisé

  1. Démarrez Visual Studio et créez un projet.

  2. Dans la boîte de dialogue Nouveau projet :

    1. Dans la liste des modèles installés, développez Visual C#, et sélectionnez Modèles CRM SDK>Unified Service Desk>Contrôle hébergé personnalisé USD.

    2. Assurez-vous que .NET Framework 4.6.2 est sélectionné.

    3. Spécifiez le nom et l’emplacement du projet, puis cliquez sur OK pour créer un nouveau projet.

    Modèle de création d'un contrôle hébergé personnalisé.

  3. Dans Explorateur de solutions, double-cliquez sur le fichier USDControl.xaml pour appeler le concepteur XAML.

  4. Dans le concepteur, ajoutez les contrôles suivants à partir de la Boîte à outils :

    • Étiquette : dans le volet Propriétés, définissez le Nom du contrôle sur « myLabel ».

    • Bouton : dans le volet Propriétés, définissez le nom du contrôle sur « myButton » et le contenu sur Démarrer le débogueur.

      Voici à quoi ressemblent les contrôles dans le concepteur XAML.

    Concepteur XAML avec des contrôles personnalisés.

  5. Double-cliquez sur le bouton pour ajouter du code à l'arrière-plan de XAML. Vous serez dirigé vers la définition de l'événement Click de myButton dans le fichier USDControl.xaml.cs. Ajoutez la commande suivante.

    private void myButton_Click(object sender, RoutedEventArgs e)
    {
        if (!this.desktopAccess.AppExistsInUI("Debugger"))
        {
            this.desktopAccess.CreateDynamicApplication("Debugger");
        }
        this.FireRequestAction(new Microsoft.Uii.Csr.RequestActionEventArgs("Debugger", "default", null));
    }
    
  6. Définissez une action personnalisée pour le contrôle hébergé. Dans le fichier USDControl.xaml.cs, recherchez la définition remplacée de DoAction.

    protected override void DoAction(Microsoft.Uii.Csr.RequestActionEventArgs args)
    
  7. Ajoutez le code suivant dans la définition remplacée de DoAction pour définir une action personnalisée appelée MyCustomAction qui accepte un paramètre appelé username.

    if (args.Action.Equals("MyCustomAction", StringComparison.OrdinalIgnoreCase))
    {
        List<KeyValuePair<string, string>> actionDataList = Utility.SplitLines(args.Data, CurrentContext, localSession);
        string valueIwant = Utility.GetAndRemoveParameter(actionDataList, "username"); // assume there is a myKey=<value> in the data.
    
        if (!string.IsNullOrEmpty(valueIwant))
        {
            this.Dispatcher.Invoke(() => { this.myLabel.Content = valueIwant; });
        }
    }
    

    Pourboire

    Le modèle fournit la plus grande partie du code sous forme de commentaires dans la définition remplacée de DoAction pour vous aider à vous familiariser rapidement avec le développement. Vous devez annuler les commentaires de la ligne de code et remplacer les valeurs d'espace réservé par vos valeurs.

  8. Enregistrez votre projet, puis générez-le (Générer>Générer la solution) pour vérifier s'il se génère correctement.

Tester votre contrôle hébergé personnalisé

Lorsque votre projet se génère correctement, testez le contrôle hébergé personnalisé. Le test comporte deux parties : la définition du contrôle hébergé personnalisé sur le serveur, puis la connexion à Unified Service Desk sur le serveur, à l’aide de votre application cliente.

Définir le contrôle hébergé et l'action personnalisés

  1. Connectez-vous à l'administrateur de Unified Service Desk.

  2. Sélectionnez Contrôles hébergés sous Paramètres de base.

  3. Sélectionnez + Nouveau.

  4. Sur la page du contrôle hébergé, précisez ce qui suit :

Champ Valeur
Nom Mon contrôle hébergé personnalisé
Nom complet Mon contrôle hébergé personnalisé
Type de composant Unified Service Desk Contrôle hébergé USD
Application globale Activée
Afficher le groupe MainPanel
  1. Sélectionnez l'onglet Hébergement et précisez ce qui suit :
Champ Valeur
URI d’assembly MyCustomControl
Type d’assembly MyCustomControl.USDControl

Note

URI d'assembly est le nom de votre assembly et Type d'assembly est le nom de votre assembly (dll) suivi d'un point (.), puis suivi du nom de la classe dans votre projet Visual Studio. Dans cet exemple, le nom de l'assembly est MyCustomControl et le nom de la classe est USDControl, qui est le nom de classe par défaut lorsque vous créez un contrôle hébergé personnalisé.

  1. Sélectionnez Enregistrer pour créer le contrôle hébergé.

  2. Créez l'action pour le contrôle hébergé que vous avez défini dans Visual Studio. Sélectionnez l'onglet Association, puis Actions UII.

  3. Sélectionnez + Nouvelle action UII.

  4. Tapez MyCustomAction dans le champ Nom, puis choisissez Enregistrer.

    Votre contrôle hébergé et votre action personnalisés sont maintenant configurés sur le serveur Microsoft Dataverse.

Exécuter le client Unified Service Desk pour utiliser le contrôle hébergé personnalisé

  1. Copiez l’assembly contenant la définition de votre contrôle hébergé personnalisé depuis le dossier de sortie du projet Visual Studio (<ProjectFolder>\bin\debug) vers le répertoire d’application du Unified Service Desk. Dans ce cas, vous allez copier le fichier MyCustomControl.dll dans le répertoire c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Exécutez le client Unified Service Desk à connecter à votre serveur Dataverse.

  3. Une fois connecté, vous verrez le contrôle hébergé personnalisé, Mon contrôle hébergé personnalisé, sur votre bureau.

    Contrôle hébergé personnalisé.

  4. Cliquez sur Démarrer le débogueur pour lancer le contrôle hébergé Débogueur.

  5. Pour tester l’action personnalisée, choisissez l’onglet Débogueur, puis cliquez sur la flèche vers le bas au-dessus de l’onglet Appels à l’action pour afficher la zone où vous pouvez tester les appels à l’action et les actions UII.

    Zone de test étendue dans le débogueur.

  6. Choisissez l'onglet Action directe.

  7. Dans la liste Contrôle hébergé, sélectionnez Mon contrôle hébergé personnalisé, et dans la liste Action, sélectionnez MyCustomAction.

  8. Selon la définition de l'action personnalisée, cet appel à l'action requiert un paramètre appelé username ; ajoutez donc la valeur suivante dans le champ Données : Nom d'utilisateur=Sylvie Dubois.

    Tester votre contrôle hébergé personnalisé.

  9. Cliquez sur l’icône Exécuter l’action directe (Bouton Exécuter l'appel à l'action du débogueur d'Unified Service Desk.), puis cliquez sur l’onglet Mon contrôle hébergé personnalisé. Le nom d’utilisateur spécifié s’affiche dans la zone d’étiquette.

    L'onglet Mon contrôle hébergé personnalisé affiche le nom d'utilisateur.

Voir aussi

Contrôle hébergé USD (contrôle hébergé)
Types de contrôle hébergé et référence d'action/événement
Guides pas-à-pas pour la configuration de Unified Service Desk
Utiliser un contrôle hébergé personnalisé dans Unified Service Desk