Поделиться через


Общие сведения о приложениях обозревателя на языке XAML Windows Presentation Foundation

Обновлен: Июль 2008

XBAP (XAML browser applications — приложения обозревателя XAML) объединяет возможности веб-приложений и многофункциональных клиентских приложений. Как веб-приложения, XBAP может быть помещен на веб-сервере и запущен из Internet Explorer. Как многофункциональное клиентское приложение, XBAP может воспользоваться преимуществами возможностей WPF. Разработка XBAP также аналогична многофункциональной клиентской разработке. Этот раздел предоставляет простое, высокоуровневое введение в разработку XBAP и отмечает, где разработка XBAP отличается от стандартной многофункциональной клиентской разработки.

В этом разделе содержатся следующие подразделы.

  • Реализация браузерного приложения XAML (XBAP)
  • Развертывание браузерного приложения XAML
  • Соображения безопасности XBAP
  • Вопросы производительности запуска XBAP

Реализация браузерного приложения XAML (XBAP)

Простейший способ создать новый проект XBAP с помощью Microsoft Visual Studio:

  1. В меню Файл выберите пункт Создать и щелкните Проект..

  2. В диалоговом окне Новый проект, в области Типы проектов, выберите Visual Basic или Visual C#. В области Шаблоны выберите Приложение Обозревателя WPF.

  3. Введите имя проекта и нажмите кнопку ОК, чтобы создать новый проект.

Шаблон проекта приложения обозревателя WPF создает проект приложения XBAP, включающий следующее:

  • Определение приложения, Application.XAML.

  • Страница, Page1.XAML.

Если потребуется, можно добавить к вышеперечисленному еще.

Если вы предпочитаете разработку с помощью средств, требующих компиляции из командной строки, см. Построение приложения WPF.

При запуске XBAP, оно запускается в окне обозревателя а не в отдельном окне. При отладке XBAP из Visual Studio, приложение выполняется с разрешениями зоны Интернета и, следовательно, возникают исключения безопасности, если эти разрешения превышены. Дополнительные сведения см. в разделе Построение приложения WPF.

Развертывание браузерного приложения XAML

При построении XBAP, MSBuild (Microsoft build engine) формирует как минимум следующие три файла:

  • Исполняемый файл. Он содержит скомпилированный код и имеет расширение .exe.

  • Манифест приложения. Содержит метаданные, связанные с приложением, и имеет расширение .manifest.

  • Манифест развертки. В этом файле содержатся сведения о том, что ClickOnce используется для развертывания приложения и имеет расширение .xbap.

Вы помещаете XBAP на веб-сервер (Службы Microsoft IIS или более поздней версии). Не нужно устанавливать .NET Framework на веб-сервере, но вам необходимо зарегистрировать типы Стандарт MIME (Multipurpose Internet Mail Extensions — многоцелевые расширения почты Интернета) WPF и расширения файлов. Более подробные сведения см. в разделе Практическое руководство. Настройка служб IIS 5.0 и IIS 6.0 для развертывания приложений WPF.

Чтобы подготовить ваш XBAP для развертывания, скопируйте .exe и связанные с ним манифесты на ваш веб-сервер. Создайте гиперссылку на веб-странице, чтобы перейти в манифест развертывания. Когда пользователь щелкает ссылку и переходит к .xbap файлу, ClickOnce автоматически обрабатывает механизм загрузки и запуска приложения.

Очистка кэшированных XBAP

В некоторых случаях после перестроения и запуска XBAP может оказаться, что предыдущая версия XBAP запущена. Это может произойти, например, когда ваш номер версии сборки XBAP статический и вы запускаете XBAP из командной строки. В этом случае, поскольку номер версии между кэшированной версией (версией, запущенной ранее) и новой версией остается неизменным, новая версия XBAP не загружается; вместо этого загружается кэшированная версия.

В таких случаях можно удалить кэшированную версию с помощью команды Mage (устанавливается с Пакет средств разработки программного обеспечения) из командной строки:

Mage.exe -cc

Это гарантирует, что последняя версия XBAP запущена, так как кэшированная версия не может быть найдена. Если вы отлаживаете с помощью Visual Studio 2005, то при нажатии клавиши F5, должна быть запущена последняя версия XBAP.

В общем случае вы должны обновлять номер версии сборки при каждом построении.

Соображения безопасности XBAP

XBAP должно выполняться в изолированной среде безопасности частичного доверия, которая ограничена набором разрешений зоны интернета. Следовательно, реализация должна поддерживать подмножество элементов WPF, которые поддерживаются в зоне Интернета (см.: Безопасность Windows Presentation Foundation).

При помещении элемента ActiveX WebBrowser (WebOC) в процесс обозревателя Internet Explorer, применяются следующие ограничения безопасности.

  • Internet Explorer блокирует модальные диалоговые окна из функции alert DHTML и элементов ActiveX, размещенных в HTML. Internet Explorer отключает диалоговые окна, которые происходят от потоков, отличных от потока активной вкладки.

  • Размещение элемента управления WebOC вызывает исключение при междоменной загрузке XBAP на странице HTML.

Вопросы производительности запуска XBAP

Важным аспектом производительности XBAP является его время запуска. Если XBAP является первым загружаемым приложением WPF, время холодного запуска может составить десять или больше секунд. Это связано с тем, что WPF выполняет прорисовку страницы хода выполнения, но для ее отображения должен быть выполнен холодный запуск среды CLR и WPF. 

Начиная с версии Visual Studio 2008 SP1, время холодного запуска XBAP снижено путем отображения неуправляемой страницы хода выполнения ранее в цикле развертывания. Страница хода выполнения открывается почти сразу после запуска приложения, так как она отображается машинным кодом размещения и прорисовывается в HTML. 

Дополнительно, улучшенный параллелизм последовательности загрузки ClickOnce сокращает время запуска до десяти процентов. После того как ClickOnce загрузит и проверит манифесты, следует загрузка приложения, и панель хода выполнения начинает обновляться. 

Журнал изменений

Дата

Журнал

Причина

Июль 2008

Добавлен раздел о производительности запуска XBAP.

Изменение функции SP1.