Partager via


Ressources web (XAP) Silverlight

Important

Les ressources Web Microsoft Silverlight sont obsolètes dans les applications Dynamics 365 for Customer Engagement version 9.0. HTML5 est la technologie de client privilégiée pour les plug-ins de navigateur, tels que Silverlight et Flash. Le langage HTML5 peut être utilisé à partir de tout appareil (ordinateur de bureau, tablette, smartphone, etc.) et utilise largement JavaScript (et de nombreuses bibliothèques puissantes JavaScript, telles que jQuery) et CSS.

Les ressources web Microsoft Silverlight restent prises en charge dans Dynamics 365 for Customer Engagement pour la compatibilité descendante dans l’application web uniquement. Microsoft Silverlight ne fonctionne pas avec l’interface Unified Interface. Pour les composants pouvant être présentés sur tous les clients, il est recommandé d’utiliser des ressources web HTML avec le langage HTML5 plutôt que Silverlight.

Dynamics 365 for Customer Engagement prend en charge l’ajout de ressources Web Silverlight 4.0 aux formulaires d’entité. Vous pouvez afficher les ressources web Silverlight 5.0 au sein d’une ressource web HTML à l’aide d’un élément d’hébergement <object> configuré pour cette version.

Note

  • Les ressources web Microsoft Silverlight ne peuvent pas être affichées dans la version 64 bits de Office Outlook.
    • Pour afficher une ressource Web Silverlight en dehors d’un formulaire ou graphique d’entité, créez une ressource Web HTML pour qu’elle soit la page hôte de la ressource web Silverlight. Utilisez ensuite la directive $webresource: pour ouvrir la ressource Web HTML.

Création de ressources web Silverlight

Les ressources web Silverlight sont facilement créées à l’aide du formulaire de ressources web en saisissant un nom, un nom complet, en sélectionnant Silverlight (XAP) comme type de fichier, puis en téléchargeant le fichier .xap. La ressource web doit être publiée avant de pouvoir être utilisée. Toutefois, et parce que les ressources web Silverlight offrent généralement une certaine interaction avec les données de contexte dans Dynamics 365 Customer Engagement (on-premises), vous devez planifier la manière de créer vos ressources web.

Accès aux données de contexte

Lorsque vous utilisez le bouton Aperçu du formulaire de ressources web, ou lorsque vous accédez simplement à l’URL indiquée, l’application Silverlight est hébergée dans une page HTML générique sans informations contextuelles. Si votre application Silverlight n’exige pas d’informations contextuelles, vous pouvez utiliser cette URL pour afficher votre ressource web Silverlight.

Si vous avez besoin d’informations contextuelles, vous devez procéder de l’une ou l’autre des façons suivantes :

  1. Ajoutez votre ressource web Silverlight à un formulaire d’entité.

  2. Affichez votre ressource web Silverlight en utilisant une ressource web HTML configurée pour fournir des informations contextuelles.

    Si votre ressource web Silverlight est conçue pour être affichée dans un formulaire d’entité, le formulaire dispose d’un objet Xrm.Page.context que vous pouvez utiliser afin d’accéder aux informations contextuelles. Pour plus d’informations, voir Contexte côté client (référence côté client)

    Si vous souhaitez que votre application Silverlight apparaisse en dehors du contexte du formulaire, vous devez configurer une ressource web HTML pour fournir ces informations contextuelles en ajoutant une référence à la page ClientGlobalContext.js.aspx.md#BKMK_ClientGlobalContext_js_aspx). Une fois cette référence ajoutée, votre application Silverlight peut accéder aux informations contextuelles de la même manière que dans un formulaire d’entité. L’exemple suivant indique comment appeler la fonction getClientUrl.

private string clientUrl = "";  
ScriptObject xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");  
ScriptObject page = (ScriptObject)xrm.GetProperty("Page");  
ScriptObject pageContext = (ScriptObject)page.GetProperty("context");  
clientUrl = (string)pageContext.Invoke("getClientUrl");  

Transmission des données depuis un formulaire vers une ressource web Silverlight intégrée

Lorsque vous ajoutez une ressource web Silverlight à un formulaire, vous pouvez sélectionner l’option Transm. code type d’objet d’enregistr. et id. unique comme paramètres. Vous avez également la possibilité de saisir un texte comme paramètre personnalisé.

Ces valeurs sont transmises au contrôle Silverlight comme InitParams, un dictionnaire de paires clé-valeur.

Les valeurs transmises sont décrites dans le tableau suivant.

Clé Description
id Identificateur unique de l’enregistrement.
type Code de type d’entité. Pour les entités personnalisées, cela peut varier selon les organisations.
typename Nom logique de l’entité.
orgname Nom de l’organisation.
userlcid Code de langue représentant la préférence de langue de l’utilisateur.
orglcid Code de langue représentant la langue de base de l’organisation.
données Valeur du texte saisi comme paramètre personnalisé.

Ces valeurs sont accessibles au moment de l’exécution à l’aide de la syntaxe de l’exemple suivant :

string entityTypeName = App.Current.Host.InitParams["typename"];  

Écriture et test de ressources web Silverlight

Si votre ressource web Silverlight est indépendante de toute donnée de contexte de Dynamics 365 Customer Engagement (on-premises), vous pouvez écrire et tester votre application Silverlight comme vous le feriez habituellement. Après avoir créé une ressource web en téléchargeant votre fichier .xap, vous pouvez la tester à l’aide du bouton Aperçu du formulaire de ressources web, après l’enregistrement et la publication de la ressource web en question.

Il est cependant plus probable que votre application Silverlight ait des dépendances de données de contexte ne pouvant pas être totalement simulées en dehors de Dynamics 365 Customer Engagement (on-premises).

Le processus de création d’une ressource web Silverlight incluant des dépendances de formulaire ou de contexte est le suivant :

  1. Créez votre projet d’application Silverlight.

    Vous devez choisir de créer une application web avec votre projet.

  2. Écrivez et testez autant que faire se peut l’application sans exiger de données de contexte depuis Dynamics 365 Customer Engagement (on-premises).

  3. Créez des ressources web en téléchargeant les fichiers .xap et .htm comme ressources web Silverlight et HTML.

  4. Écrivez le code dans votre projet d’application Silverlight.

  5. Générez votre projet d’application Silverlight.

  6. Téléchargez la version créée du fichier .xap depuis le dossier ClientBin du projet d’application web pour mettre à jour la ressource web Silverlight que vous avez créée à l’étape 3.

  7. Testez votre ressource web Silverlight de l’une ou l’autre des façons suivantes :

    • En l’affichant à l’aide du bouton Aperçu de la ressource web HTML hôte que vous avez créée.

    • En l’affichant dans le contexte d’un formulaire d’entité auquel vous l’avez ajoutée.

      Utilisez cette option si votre application Silverlight a des dépendances par rapport aux éléments de formulaire ou aux informations contextuelles.

  8. Répétez les étapes 4 à 7 jusqu’à ce que vous ayez terminé.

Note

Lorsque vous souhaitez afficher une ressource web Silverlight en dehors d’un formulaire d’entité, par exemple, dans le contexte principal de l’application en modifiant le plan de site, vous devez fournir une ressource web de page web (HTML)qui agira comme hôte pour la ressource web Silverlight.

Important

Ne modifiez jamais le code source HTML pour une page hébergeant une ressource web Silverlight à l’aide de l’éditeur de texte fourni dans l’application. L’éditeur de texte modifie le code HTML et interrompt la définition de l’élément <object> nécessaire pour héberger la ressource web XAP Silverlight. Pour plus d’informations, voir Utiliser l’éditeur de texte pour les ressources web HTML.

Si vous devez utiliser l’éditeur de texte, ignorez le paramètre data="data:application/x-silverlight-2," de l’élément <object>. Cela devrait éviter l’interruption de la ressource web Silverlight, mais l’éditeur de texte peut toujours apporter d’autres modifications indésirables.

Débogage des ressources web Silverlight

Les ressources web Silverlight qui ne reposent pas sur les données de contexte de Dynamics 365 Customer Engagement (on-premises) peuvent être déboguées dans Visual Studio. Toutefois, si la ressource web Silverlight exige des données de contexte pour exécuter les fonctions, vous devrez avoir recours à une procédure différente.

  1. Générez votre projet d’application Silverlight.

  2. Téléchargez la version créée du fichier .xap à partir du dossier ClientBin du projet d’application web.

  3. Affichez votre application Silverlight dans le contexte dans lequel elle est conçue pour être utilisée.

  4. Dans votre projet d’application Silverlight, à partir du menu Visual Studio, sélectionnez Débogage, puis Attacher au processus.

  5. Dans la boîte de dialogue Attacher au processus, recherchez un processus iexplore.exe où la valeur de la colonne Type indique Silverlight, x86.

  6. Sélectionnez ce processus et appuyez sur Attacher pour fermer la boîte de dialogue et commencer le débogage.

  7. Dans votre projet d’application Silverlight, définissez un point d’arrêt.

  8. Actualisez la fenêtre du navigateur ou, dans l’application Silverlight, exécutez l’action nécessaire pour tester votre code.

Voir aussi

Créer des ressources web accessibles
Ressources web pour Dynamics 365 Customer Engagement (on-premises)
Utilisation des ressources web de page web (HTML)
Utilisation des ressources web de feuille de style (CSS)
Utilisation des ressources web de script (JScript)
Utilisation des ressources web de données (XML)
Utilisation des ressources web d’image (JPG, PNG, GIF)
Utilisation des ressources web de feuille de style (XSL)