Vue d'ensemble des applications de navigateur XAML Windows Presentation Foundation
Mise à jour : Juillet 2008
Les applications du navigateur XAML (XBAP) combinent les fonctions d'applications Web et d'applications clientes enrichies. Comme les applications Web, les XBAP peuvent être publiées sur un serveur Web et lancées à partir d'Internet Explorer. Comme les applications clientes enrichies, les XBAP peuvent tirer parti des fonctions de WPF. Le développement d'XBAP est également similaire au développement de clients enrichis. Cette rubrique présente de manière simple, mais détaillée, le développement de XBAP et souligne les différences entre le développement de XBAP et celui d'applications clientes enrichies standard.
Cette rubrique comprend les sections suivantes.
- Implémentation d'une application de navigateur XAML (XBAP)
- Déploiement d'une application de navigateur XAML
- Considérations relatives à la sécurité XBAP
- Considérations sur les performances relatives à la durée de démarrage de XBAP
Implémentation d'une application de navigateur XAML (XBAP)
Le moyen le plus simple de créer un projet XBAP consiste à utiliser Microsoft Visual Studio :
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Fichier.
Dans la boîte de dialogue Nouveau projet, dans le volet Types de projets, choisissez Visual Basic ou Visual C#. Dans le volet Modèles, cliquez sur Application de navigateur WPF.
Attribuez un nom au projet, puis cliquez sur OK pour créer le projet.
Le modèle de projet de l'application de navigateur WPF crée un projet d'application XBAP qui comprend les éléments suivants :
Une définition d'application, Application.xaml.
Une page, Page1.xaml.
Vous pouvez ajouter d'autres éléments selon vos besoins.
Si vous préférez utiliser des outils exigeant la compilation de ligne de commande, consultez Génération d'une application WPF (WPF).
Lorsque vous exécutez XBAP, celui-ci est lancé dans une fenêtre de navigateur au lieu d'une fenêtre autonome. Lorsque vous déboguez XBAP à partir de Visual Studio, l'application s'exécute avec l'autorisation de zone Internet et, par conséquent, renvoie des exceptions de sécurité si ces autorisations sont dépassées. Pour plus d'informations, consultez Génération d'une application WPF (WPF).
Déploiement d'une application de navigateur XAML
Lorsque vous générez XBAP, Microsoft Build Engine (MSBuild) produit au minimum les trois fichiers suivants :
Un fichier exécutable. Celui-ci contient le code compilé et porte une extension .exe.
Un manifeste d'application Celui-ci contient les métadonnées associées à l'application et porte une extension .manifest.
Un manifeste de déploiement Ce fichier contient les informations que ClickOnce utilise pour déployer l'application et porte une extension .xbap.
Vous publiez les XBAP sur un serveur Web (Microsoft Internet Information Services (IIS) ou toute version ultérieure). Vous n'avez pas besoin d'installer .NET Framework sur le serveur Web ; en revanche, vous devez enregistrer les extensions de fichiers et les types WPF MIME (Multipurpose Internet Mail Extensions). Pour plus d'informations, consultez Comment : configurer IIS 5.0 et IIS 6.0 pour déployer des applications WPF.
Pour préparer votre XBAP pour le déploiement, copiez les fichiers .exe et les manifestes associés sur votre serveur Web. Créez un lien hypertexte dans une page Web qui permet d'accéder au manifeste de déploiement. Lorsque l'utilisateur clique sur le lien et accède au fichier .xbap, ClickOnce gère automatiquement le mécanisme de téléchargement et de lancement de l'application.
Effacement des XBAP mis en cache
Dans certains cas, après avoir reconstitué et lancé votre XBAP, vous pouvez découvrir qu'une version antérieure de XBAP a été lancée. Cela peut se produit, par exemple, lorsque le numéro de version de votre assembly XBAP est statique et vous lancez XBAP à partir de la ligne de commande. Dans ce cas, du fait que le numéro de version entre la version mise en cache (version lancée précédemment) et la nouvelle version est identique, la nouvelle version de XBAP n'est pas téléchargée et la version mise en cache est chargée à sa place.
Dans ce cas, vous pouvez supprimer la version mise en cache à l'aide de la commande Mage (installé avec le Kit de développement logiciel (SDK) Windows) à partir de l'invite de commandes :
Mage.exe -cc
Cela garantit que la version la plus récente de votre XBAP est lancée, étant donné qu'aucune version mise en cache n'est détectée. En cas de débogage à l'aide de Visual Studio 2005, si vous appuyez sur la touche F5, la version la plus récente de votre XBAP devrait être lancée.
En général, il est recommandé de mettre à jour le numéro de version de votre assembly avec chaque génération.
Considérations relatives à la sécurité XBAP
Les XBAP doivent s'exécuter dans un sandbox de sécurité présentant un niveau de confiance partiel restreint au jeu d'autorisations de la zone Internet. Par conséquent, votre implémentation doit prendre en charge le sous-ensemble d'éléments WPF acceptés dans la zone Internet (consultez Sécurité de Windows Presentation Foundation).
Lorsque vous hébergez le contrôle ActiveX WebBrowser (WebOC) dans le processus de navigateur Internet Explorer, les limitations de sécurité suivantes s'appliquent.
Internet Explorer bloque les boîtes de dialogue modales issues de la fonction alert DHTML et les contrôles ActiveX hébergés en HTML. Internet Explorer supprime les boîtes de dialogue qui proviennent d'autres threads que le thread de l'onglet actif.
L'hébergement du contrôle WebOC lève une exception lorsqu'un XBAP est chargé entre les domaines dans une page HTML.
Considérations sur les performances relatives à la durée de démarrage de XBAP
La durée de démarrage est un aspect important des performances de XBAP. Si un XBAP est la première application WPF à être chargée, la durée de démarrage à froid peut être d'au moins dix secondes. Cela s'explique par le fait que la page d'avancement est rendue par WPF et que le CLR et WPF doivent tous deux être démarrés à froid pour l'afficher.
À partir de Visual Studio 2008 SP1, la durée de démarrage à froid de XBAP s'atténue en affichant une page d'avancement non managée au tout début du cycle de déploiement. La page d'avancement s'affiche quasiment immédiatement après le démarrage de l'application, car elle est affichée par du code d'hébergement natif et est rendue en HTML.
De plus, un meilleur accès concurrentiel de la séquence de téléchargement ClickOnce améliore la durée de démarrage jusqu'à dix pour cent. Une fois que ClickOnce a téléchargé et validé les manifestes, le téléchargement de l'application démarre et la barre de progression commence à se mettre à jour.
Historique des modifications
Date |
Historique |
Raison |
---|---|---|
Juillet 2008 |
Ajout d'une section sur les performances relatives à la durée de démarrage de XBAP. |
Modifications de fonctionnalités dans le SP1. |