Détection de l'hébergement dans un navigateur, exemple
Mise à jour : novembre 2007
Cet exemple montre comment détecter si une partie du code s'exécute depuis une application du navigateur XAML (XBAP) ou une application autonome.
Cet exemple présente une fonctionnalité spécifique de Windows Presentation Foundation et, par conséquent, ne suit pas les meilleures pratiques de développement d'applications. Pour un traitement complet des meilleures pratiques de développement d'applications Windows Presentation Foundation (WPF) et Microsoft .NET Framework, reportez-vous, selon le cas, aux documents suivants :
Accessibilité - Meilleures pratiques d'accessibilité
Localisation - Vue d'ensemble de la globalisation et de la localisation WPF
Performances - Optimisation des performances des applications WPF
Sécurité - Sécurité de Windows Presentation Foundation
Génération de l'exemple
Installez le Kit de développement logiciel (SDK) Windows et ouvrez la fenêtre Commande de son environnement de génération. Dans le menu Démarrer, pointez sur Tous les programmes et sur Microsoft Windows SDK, puis cliquez sur CMD Shell.
Téléchargez l'exemple, généralement à partir de la documentation du Kit de développement logiciel (SDK), vers votre disque dur local.
Pour générer l'exemple à partir de la fenêtre Commande de l'environnement de génération, accédez au répertoire source de l'exemple. À l'invite de commandes, tapez MSBUILD.
Pour générer l'exemple dans Microsoft Visual Studio, chargez l'exemple de solution ou de fichier projet, puis appuyez sur CTRL+MAJ+B.
Exécution de l'exemple
Pour exécuter l'exemple compilé à partir de la fenêtre Commande de l'environnement de génération, exécutez le fichier .exe du dossier Bin\Debug ou Bin\Release contenu sous le dossier du code source de l'exemple.
Pour exécuter l'exemple compilé avec le débogage dans Visual Studio, appuyez sur F5.
Notes
Cet exemple implique une bibliothèque (SharedLibary) partagée par une application application du navigateur XAML (XBAP) (XBAPClient) et une application Windows autonome (WinAppClient). SharedLibrary encapsule la fonctionnalité pour effectuer une tâche qui est commune aux deux applications clientes. Une partie de cette fonctionnalité affiche une interface utilisateur (UI) correspondant au type de client qui l'héberge, tel qu'une Page si elle est hébergée par navigateur, ou une Window hébergée par une application autonome.
La bibliothèque partagée utilise IsBrowserHosted pour détecter si elle est exécutée dans une application hébergée par un navigateur ou par une application autonome.
Remarque : |
---|
Vous ne pouvez pas placer le code qui instancie une Window dans le même membre que le code qui inspecte le IsBrowserHosted ; Window a une demande d'héritage qui requiert le membre dans lequel elle est instanciée pour avoir UIPermission. Pour résoudre ce problème, vous pouvez refactoriser le code en plaçant le code d'instanciation Window dans une méthode distincte que vous appelez dans le membre dans lequel IsBrowserHosted est inspecté, comme le montre cet exemple. |