Share via


Ressources Web (XAP) Silverlight

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Important

Les ressources Web Microsoft Silverlight restent prises en charge dans Microsoft Dynamics 365 (Online et local) pour la compatibilité descendante. 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.

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.

Microsoft Dynamics 365 (Online et local) prennent 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.

Notes

  • Les ressources Web Microsoft Silverlight ne peuvent pas être affichées dans la version 64 bits de Microsoft 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.

Contenu de la rubrique

Création de ressources Web Silverlight

Accès aux données de contexte

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

Écriture et test de ressources Web Silverlight

Débogage des ressources Web Silverlight

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 Microsoft Dynamics 365, 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, consultez la rubrique 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. 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 à partir de l’objet Xrm.Page.context.

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 issue de Microsoft Dynamics 365, 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 Microsoft Dynamics 365.

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 Microsoft Dynamics 365.

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

Notes

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 XAPSilverlight. Pour plus d'informations, voir bba8645a-a725-4c4d-a393-bab8ca692482#BKMK_UsingTextEditor.

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 à partir de Microsoft Dynamics 365 peuvent être déboguées dans Microsoft 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 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 Microsoft Dynamics 365
Ressources Web Webpage (HTML)
Ressources Web CSS
Ressources Web de script (JScript)
Ressources Web de données (XML)
Ressources Web image (JPG, PNG, GIF, ICO)
Ressources Web de feuille de style (XSL)

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright