Freigeben über


Beispiel für die Prüfung des Browserhostings

Aktualisiert: November 2007

In diesem Beispiel wird veranschaulicht, wie erkannt wird, ob ein Codeteil über XAML-Browseranwendung (XBAP) oder eine eigenständige Anwendung ausgeführt wird.

In diesem Beispiel soll nur ein bestimmtes Feature von Windows Presentation Foundation veranschaulicht werden, daher werden die bewährten Methoden für die Anwendungsentwicklung nicht befolgt. Ausführliche Informationen über empfohlene Vorgehensweisen bei der Anwendungsentwicklung für Windows Presentation Foundation (WPF) und Microsoft .NET Framework finden Sie unter folgenden Themen:

Eingabehilfen – Bewährte Methoden für Eingabehilfen

Lokalisierung – Übersicht über WPF-Globalisierung und -Lokalisierung

Leistung – Optimieren der WPF-Anwendungsleistung

Sicherheit – Windows Presentation Foundation-Sicherheit

Download sample

Erstellen des Beispiels

  • Installieren Sie das Windows Software Development Kit (SDK) und öffnen Sie dessen Buildumgebungs-Befehlsfenster. Zeigen Sie im Startmenü auf Alle Programme und Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.

  • Laden Sie das Beispiel, normalerweise aus der Software Development Kit (SDK)-Dokumentation, auf Ihre Festplatte herunter.

  • Um das Beispiel über das Buildumgebungs-Befehlsfenster zu erstellen, wechseln Sie zum Quellverzeichnis des Beispiels. Geben Sie an der Eingabeaufforderung MSBUILD ein.

  • Um das Beispiel mit in Microsoft Visual Studio zu erstellen, laden Sie die Projektmappe oder Projektdatei des Beispiels, und drücken Sie STRG+UMSCHALT+B.

Ausführen des Beispiels

  • Um das kompilierte Beispiel über das Buildumgebungs-Befehlsfenster auszuführen, führen Sie die EXE-Datei aus dem Ordner Bin\Debug oder Bin\Release, die unter dem Quellcodeordner des Beispiels enthalten sind, aus.

  • Um das kompilierte Beispiel in Visual Studio mit Debuggen auszuführen, drücken Sie F5.

Hinweise

Dieses Beispiel besteht aus einer Bibliothek (SharedLibary), die von einer XAML-Browseranwendung (XBAP)-Anwendung (XBAPClient) und einer eigenständigen Windows-Anwendung (WinAppClient) verwendet wird. SharedLibrary kapselt die Funktionalität, um eine Aufgabe auszuführen, die beiden Clientanwendungen gemeinsam ist. Teil dieser Funktionalität ist die Anzeige einer Benutzeroberfläche (user interface, UI), die geeignet für den hostenden Clienttyp ist, z. B. eine Page (sofern im Browser gehostet) oder ein Window (sofern von einer eigenständigen Windows-Anwendung gehostet).

Die gemeinsame Bibliothek verwendet IsBrowserHosted, um zu ermitteln, ob sie in einer im Browser gehosteten Anwendung oder einer eigenständigen Anwendung ausgeführt wird.

Tipp

Der Code, der ein Window instanziiert, kann sich nicht im selben Member befinden wie der Code, der IsBrowserHosted prüft; Window weist eine Vererbungsanforderung auf, die erfordert, dass der Member, in dem sie instanziiert wird, UIPermission aufweist. Um dieses Problem zu beheben, können Sie den Code umgestalten, indem Sie den Window-Instanziierungscode in eine separate Methode verschieben, die Sie vom gleichen Member aufrufen, in dem IsBrowserHosted geprüft wird, wie dieses Beispiel zeigt.

Siehe auch

Referenz

IsBrowserHosted