Información general sobre aplicaciones de explorador XAML de Windows Presentation Foundation
Actualización: Julio de 2008
Las Aplicaciones del explorador XAML (XBAPs) combinan las características de aplicaciones web y aplicaciones cliente enriquecidas. Al igual que las aplicaciones web, las XBAPs se pueden publicar en un servidor web e iniciarse desde Internet Explorer. Al igual que las aplicaciones cliente enriquecidas, las XBAPs pueden aprovechar las capacidades de WPF. El desarrollo de XBAPs es también similar al desarrollo de aplicaciones cliente enriquecidas. En este tema se proporciona una introducción simple, de alto nivel, al desarrollo de aplicaciones XBAP y se recalcan las diferencias entre el desarrollo de aplicaciones XBAP y el desarrollo de aplicaciones cliente enriquecidas estándar.
Este tema contiene las secciones siguientes.
- Implementar una aplicación de explorador XAML (XBAP)
- Implementar una aplicación de explorador XAML
- Consideraciones de seguridad sobre XBAP
- Consideraciones sobre el rendimiento del tiempo de inicio de una XBAP
Implementar una aplicación de explorador XAML (XBAP)
La manera más simple de crear un nuevo proyecto de aplicación XBAP es con Microsoft Visual Studio:
En el menú Archivo, elija Nuevo y haga clic en Proyecto.
En el cuadro de diálogo Nuevo proyecto, en el panel Tipos de proyecto, elija Visual Basic o Visual C#. En el panel Plantillas, haga clic en Aplicación de explorador WPF.
Asigne un nombre de proyecto y haga clic en Aceptar para crear el nuevo proyecto.
La plantilla de proyecto Aplicación de explorador WPF crea un proyecto de aplicación XBAP que incluye lo siguiente:
Una definición de aplicación, Application.xaml.
Una página, Page1.xaml.
Puede agregar lo que desee.
Si prefiere desarrollar con herramientas que requieran compilación mediante la línea de comandos, vea Generar una aplicación de WPF (WPF).
Cuando se ejecuta una aplicación XBAP, se inicia en una ventana del explorador en lugar de una ventana independiente. Cuando se depura una aplicación XBAP desde Visual Studio, la aplicación se ejecuta con permisos de zona de Internet y, por consiguiente, inicia excepciones de seguridad si se superan esos permisos. Para obtener más información, vea Generar una aplicación de WPF (WPF).
Implementar una aplicación de explorador XAML
Al generar una aplicación XBAP, Microsoft build engine (MSBuild) genera como mínimo los tres archivos siguientes:
Un archivo ejecutable. Contiene el código compilado y tiene la extensión .exe.
Un manifiesto de aplicación. Contiene los metadatos asociados a la aplicación y tiene la extensión .manifest.
Un manifiesto de implementación. Este archivo contiene la información que ClickOnce utiliza para implementar la aplicación y tiene la extensión .xbap.
Publique las XBAPs en un servidor web (Microsoft Internet Information Services (IIS) o posterior). No es necesario instalar .NET Framework en el servidor web, pero sí debe registrar las extensiones de archivo y los tipos Extensiones multipropósito de correo Internet (MIME) de WPF. Para obtener información más detallada, vea Cómo: Configurar IIS 5.0 e IIS 6.0 para implementar aplicaciones de WPF.
Para preparar la aplicación XBAP para la implementación, copie el archivo .exe y los manifiestos asociados en el servidor web. Cree un hipervínculo en una página web para navegar al manifiesto de implementación. Cuando el usuario hace clic en el vínculo y navega al archivo .xbap, ClickOnce administra automáticamente los mecanismos de descarga e inicio de la aplicación.
Borrar aplicaciones XBAP almacenadas en memoria caché
En algunas situaciones, después de volver a generar e iniciar la aplicación XBAP, es posible que se inicie una versión anterior de la aplicación XBAP. Por ejemplo, esto puede pasar cuando el número de versión de ensamblado de la aplicación XBAP es estático y se inicia la aplicación XBAP desde la línea de comandos. En este caso, dado que el número de versión entre la versión almacenada en memoria caché (la versión que se inició previamente) y la nueva versión sigue siendo el mismo, no se descarga la nueva versión de la aplicación XBAP sino la versión almacenada en memoria caché.
En estas situaciones, puede quitar la versión almacenada en memoria caché utilizando el comando Mage (se instala con Windows SDK) desde el símbolo del sistema:
Mage.exe -cc
De este modo se garantiza que se inicia la última versión de la aplicación XBAP porque no se encuentra ninguna versión almacenada en memoria caché. Si depura utilizando Visual Studio 2005 y presiona F5, deberá iniciarse la última versión de la aplicación XBAP.
En general, se recomienda actualizar el número de versión de ensamblado con cada compilación.
Consideraciones de seguridad sobre XBAP
Las XBAPs se deben ejecutar dentro de un recinto de seguridad de confianza parcial que esté restringido al conjunto de permisos de la zona de Internet. Por consiguiente, la implementación debe admitir el subconjunto de elementos de WPF que se admiten en la zona de Internet (vea Seguridad de Windows Presentation Foundation).
Cuando se hospeda el control ActiveX WebBrowser (WebOC) en el proceso de explorador de Internet Explorer, son de aplicación las limitaciones de seguridad siguientes.
Internet Explorer bloquea los cuadros de diálogo modales de la función alert de DHTML y los controles ActiveX hospedados en HTML. Internet Explorer suprime los cuadros de diálogo que se originan en subprocesos que no sean el subproceso de la ficha activa.
Hospedar el control WebOC inicia una excepción cuando se carga una XBAP entre dominios en una página HTML.
Consideraciones sobre el rendimiento del tiempo de inicio de una XBAP
Un aspecto importante del rendimiento de una XBAP es su tiempo de inicio. Si una XBAP es la primera aplicación de WPF que se carga, el tiempo de inicio en frío puede ser de diez segundos o más. Esto se debe a que WPF representa la página de progreso, y es preciso iniciar en frío tanto CLR como WPF para mostrarla.
A partir de Visual Studio 2008 SP1, el tiempo de inicio en frío de XBAP se reduce mostrando una página de progreso no administrada al principio del ciclo de implementación. La página de progreso se muestra casi en el momento de iniciar la aplicación, porque la muestra el código de hospedaje nativo y se representa en HTML.
Además, la simultaneidad mejorada de la secuencia de descarga de ClickOnce reduce el tiempo de inicio en hasta un diez por ciento. Una vez se ha efectuado la descarga y validación de manifiestos de ClickOnce, se inicia la descarga de la aplicación y la barra de progreso empieza a actualizarse.
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Julio de 2008 |
Se ha agregado una sección sobre el rendimiento del tiempo de inicio de las XBAP. |
Cambio de características de SP1. |