Share via


Übersicht über XAML-Browseranwendungen von Windows Presentation Foundation

Aktualisiert: Juli 2008

XAML-Browseranwendungen (XBAPs) kombinieren Funktionen von Webanwendungen und Rich Client-Anwendungen. Wie es auch bei Webanwendungen der Fall ist, können XBAPs auf einem Webserver veröffentlicht und mit Internet Explorer gestartet werden. XBAPs können von den Funktionen von WPF profitieren, genau wie Rich Client-Anwendungen. Auch die Entwicklung von XBAPs ähnelt der Rich Client-Entwicklung. Dieses Thema bietet eine allgemeine einfache Einführung in die XBAP-Entwicklung und zeichnet die Unterschiede zwischen der Entwicklung von XBAP und standardmäßigen Rich Client-Anwendungen auf.

Dieses Thema enthält folgende Abschnitte.

  • Implementieren einer XAML-Browseranwendung (XBAP)
  • Bereitstellen einer XAML-Browseranwendung
  • XBAP-Sicherheitsüberlegungen
  • Überlegungen zur XBAP-Startzeitleistung

Implementieren einer XAML-Browseranwendung (XBAP)

Die einfachste Methode zum Erstellen eines neuen XBAP-Projekts bietet Microsoft Visual Studio:

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  2. Wählen Sie im Bereich Projekttypen im Dialogfeld Neues Projekt entweder Visual Basic oder Visual C# aus. Klicken Sie im Bereich Vorlagen auf WPF-Browseranwendung.

  3. Weisen Sie einen Projektnamen zu, und klicken Sie auf OK, um das neue Projekt zu erstellen.

Die Projektvorlage der WPF-Browseranwendung erstellt ein XBAP-Anwendungsprojekt mit folgendem Inhalt:

  • Eine Anwendungsdefinition, Application.xaml

  • Eine Seite, Page1.xaml

Sie können nach Bedarf Hinzufügungen vornehmen.

Wenn Sie die Entwicklung mit Tools bevorzugen, die eine Kompilierung von der Befehlszeile erfordern, informieren Sie sich unter Erstellen einer WPF-Anwendung (WPF).

Wenn Sie eine XBAP ausführen, wird sie in einem Browserfenster gestartet und nicht in einem eigenständigen Fenster. Wenn Sie eine XBAP aus Visual Studio debuggen, wird die Anwendung mit Internetzonenberechtigung ausgeführt und löst daher Sicherheitsausnahmen aus, wenn diese Berechtigungen überschritten werden. Weitere Informationen hierzu finden Sie unter Erstellen einer WPF-Anwendung (WPF).

Bereitstellen einer XAML-Browseranwendung

Wenn Sie eine XBAP erstellen, werden vom Microsoft-Buildmodul (MSBuild) mindestens die folgenden drei Dateien generiert:

  • Eine ausführbare Datei. Diese enthält den kompilierten Code und hat die Erweiterung EXE.

  • Ein Anwendungsmanifest. Dieses enthält die der Anwendung zugeordneten Metadaten und hat die Erweiterung MANIFEST.

  • Ein Bereitstellungsmanifest. Diese Datei enthält die Informationen, die ClickOnce zum Bereitstellen der Anwendung verwendet. Sie hat die Erweiterung XBAP.

Sie veröffentlichen XBAPs auf einem Webserver (Microsoft Internetinformationsdienste (IIS) oder höher). Sie müssen MIME nicht auf dem Webserver installieren, aber die Multipurpose Internet Mail Extensions (MIME)-Typen und -Dateierweiterungen von WPF registrieren. Details finden Sie unter Gewusst wie: Konfigurieren von IIS 5.0 und IIS 6.0, um WPF-Anwendungen bereitzustellen.

Zum Vorbereiten der XBAP für die Bereitstellung kopieren Sie die EXE-Datei und die zugeordneten Manifeste auf den Webserver. Erstellen Sie einen Link auf einer Webseite, um zum Bereitstellungsmanifest zu navigieren. Wenn ein Benutzer auf den Link klickt und zur XBAP-Datei navigiert, wird das Herunterladen und Starten der Anwendung automatisch von ClickOnce erledigt.

Löschen von zwischengespeicherten XBAPs

Es kommt vor, dass nach dem erneuten Erstellen und Starten der XBAP eine frühere Version der XBAP gestartet wird. Beispielsweise kann das der Fall sein, wenn die Assemblyversionsnummer der XBAP statisch ist und Sie die XBAP über die Befehlszeile starten. Da die Versionsnummer der zwischengespeicherten Version (die zuvor gestartet wurde) mit der Nummer der neuen Version übereinstimmt, wird anstelle der neuen Version der XBAP die zwischengespeicherte Version geladen.

In diesen Situationen können Sie die zwischengespeicherte Version entfernen, indem Sie den Befehl Mage (installiert mit dem Windows SDK) über die Befehlszeile ausführen:

Mage.exe -cc

Dadurch wird sichergestellt, dass die neueste Version der XBAP gestartet wird, da keine zwischengespeicherte Version gefunden wird. Wenn Sie mit Visual Studio 2005 debuggen, sollte durch Drücken von F5 die neueste Version der XBAP gestartet werden.

Es wird empfohlen, dass Sie die Assemblyversionsnummer mit jedem Build aktualisieren.

XBAP-Sicherheitsüberlegungen

XBAPs müssen innerhalb eines teilweise vertrauenswürdigen Sicherheitsbereichs (Sandbox) ausgeführt werden, der auf den Berechtigungssatz für die Internetzone beschränkt ist. Daher muss Ihre Implementierung die Teilmenge der WPF-Elemente unterstützen, die in der Internetzone unterstützt werden (siehe Windows Presentation Foundation-Sicherheit).

Wenn Sie das WebBrowser ActiveX-Steuerelement (WebOC) im Browserprozess von Internet Explorer hosten, gelten die folgenden Sicherheitseinschränkungen.

  • Internet Explorer blockiert modale Dialogfelder von der DHTML alert-Funktion und in HTML gehostete ActiveX-Steuerelemente. Internet Explorer unterdrückt Dialogfelder, die von anderen Threads als dem Thread der aktiven Registerkarte stammen.

  • Das Hosten des WebOC-Steuerelements löst eine Ausnahme aus, wenn ein XBAP in eine HTML-Seite domänenübergreifend geladen wird.

Überlegungen zur XBAP-Startzeitleistung

Ein wichtiger Aspekt der XBAP-Leistung ist seine Startzeit. Falls ein XBAP die erste zu ladende WPF-Anwendung darstellt, kann die Kaltstartzeit mind. zehn Sekunden ausmachen. Dies ist darauf zurückzuführen, dass die Statusseite von WPF gerendert wird und sowohl die CLR als auch WPF für die Anzeige kaltgestartet werden müssen. 

Wenn Sie in Visual Studio 2008 SP1 starten, wird die XBAP-Kaltstartzeit reduziert, indem eine unverwaltete Statusseite früh im Bereitstellungszyklus angezeigt wird. Die Statusseite wird fast unmittelbar nach dem Start der Anwendung angezeigt, da sie mit systemeigenen Hostingcode angezeigt und in HTML gerendert wird. 

Außerdem wird durch eine verbesserte Parallelität der ClickOnce-Downloadsequenz die Startzeit um bis zu zehn Prozent gesteigert. Nachdem ClickOnce Manifeste heruntergeladen und überprüft hat, beginnt der Anwendungsdownload und die Statusanzeige wird aktualisiert. 

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Hinzugefügter Abschnitt über die XBAP-Startzeitleistung.

SP1-Featureänderung.