Silverlight - Anwendungen außerhalb des Browsers

Wir werden nun die Silverlight-Unterstützung für Anwendungen untersuchen, die auf dem Computer des Endbenutzers installiert werden können, um wie eine normale Windows-Anwendung außerhalb des Webbrowsers ausgeführt zu werden. Es gibt drei Hauptgründe, warum Ihre Anwendung möglicherweise außerhalb des Browsers ausgeführt werden kann:

  • Interaction
  • Offline
  • Erhöhtes Vertrauen

Interaktion

Dies kann ein besseres Interaktionsdesign ermöglichen. Ein Navigationsmodell des Webs passt für einige Anwendungen nicht besonders gut. Beispielsweise können die Adressleiste und die Schaltfläche Zurück Platzverschwendung und nutzlos sein.

Die Bedeutung von Silverlight ist hier wie folgt:

  • Webanwendungen können clientseitige Technologien wie Silverlight, Flash oder AJAX verwenden, um fortlaufende Aktualisierungen für eine einzelne Seite bereitzustellen, sodass möglicherweise nicht mehr zu anderen Seiten navigiert werden muss.

  • In einigen Anwendungen kann ein Benutzer viele Minuten oder sogar Stunden damit verbringen, was der Browser als einzelne Seite betrachtet.

  • Für diese Art der Anwendung ist die Back Die Schaltfläche kann einen ziemlich überraschenden Effekt beim Beenden der Anwendung haben, da sie Sie auf die Seite zurückführt, auf der Sie sich befanden, bevor Sie in die Anwendung gegangen sind.

  • Nicht webähnliche Anwendungen werden normalerweise besser bedient, wenn der Browser nicht mehr verfügbar ist, da dadurch der Browser Chrome entfernt wird. Im Allgemeinen ist die Benutzerfreundlichkeit nicht der einzige Grund dafür, dass der Browser nicht mehr ausreicht.

Offline

Ein weiterer Grund für die Verwendung dieser Funktion ist die Aktivierung der Offline-Ausführung. Wenn eine Silverlight-Anwendung für den Betrieb außerhalb des Browsers installiert wird, wird sie in ein Repository pro Benutzer auf dem lokalen Computer kopiert und ist über die üblichen Betriebssystemmechanismen zum Starten von Anwendungen verfügbar, z. B. das Startmenü unter Windows.

  • Die Anwendung ist dann auch dann verfügbar, wenn der Benutzer keine Internetverbindung hat.

  • Dies ist natürlich nur für Anwendungen hilfreich, die nicht vollständig von den serverseitigen Informationen abhängen.

  • Beispielsweise wäre eine Auto-Tracking-Anwendung für einen Paketzustelldienst ohne die Netzwerkkonnektivität nicht von großem Nutzen.

  • Für einige Anwendungen ist die Möglichkeit, bei gelegentlichen Verbindungsfehlern weiterzuarbeiten, sehr hilfreich.

Erhöhtes Vertrauen

Silverlights Version 4 bietet Unterstützung für vertrauenswürdige Anwendungen. Die Sicherheits-Sandbox von Silverlight blockiert normalerweise bestimmte privilegierte Vorgänge, z. B. den Zugriff auf die Dateien des Benutzers.

Eine Anwendung außerhalb des Browsers kann jedoch eine Erhöhung anfordern. Wenn der Benutzer diese Anforderung gewährt, kann die Anwendung mehr von der Arbeit ausführen, die eine normale Windows-Anwendung ausführen kann, z. B. die Verwendung der COM-Automatisierung oder das Anpassen des Fensterrahmens.

Anwendungen, die im Browser ausgeführt werden, werden niemals als vertrauenswürdig eingestuft. Sie müssen daher eine Anwendung außerhalb des Browsers schreiben, wenn Sie diese Funktionen verwenden möchten.

OOB aktivieren

Wie schreiben wir eine Out-of-Browser-Anwendung? Es ist sehr leicht. Wir müssen eine einzelne Einstellung in den Projekteigenschaften von Silverlight ändern und es wird lediglich eine geeignete Einstellung zum hinzugefügtAppManifest.xaml.

Lassen Sie uns sehen, wie es funktioniert.

  • Wenn Ihr Manifest angibt, dass die Ausführung außerhalb des Browsers unterstützt wird, hat dies keine ersten Auswirkungen. Die Anwendung wird wie gewohnt im Browser ausgeführt.

  • Wenn der Benutzer jedoch mit der rechten Maustaste klickt, wird das Standard-Silverlight verwendet ContextMenu bietet ein zusätzliches Element zum Installieren der Anwendung auf dem Computer an.

  • Wenn der Benutzer dieses Element auswählt, wird ein Dialogfeld angezeigt, in dem Sie zur Bestätigung aufgefordert werden. Außerdem wird gefragt, ob auf die Anwendung über das Startmenü, den Desktop oder beides zugegriffen werden soll.

  • Sie müssen sich nicht auf das Kontextmenü verlassen. Sie können auch eine Schaltfläche anbieten, auf die der Benutzer klicken kann, um die Anwendung zu installieren, da es eine API gibt, die Sie aufrufen können, um die Installation zu starten.

  • Wenn Sie die Installation programmgesteuert starten, wird dem Benutzer weiterhin das Dialogfeld angezeigt. Sie können Ihre App nicht ohne die Zustimmung des Benutzers installieren.

Eine Silverlight-Anwendung

Hier ist eine sehr einfache Silverlight-Anwendung. Unten ist der XAML-Code angegeben.

<UserControl x:Class = "SimpleOob.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   mc:Ignorable = "d" 
   d:DesignHeight = "300" d:DesignWidth = "400">
   
   <Grid x:Name = "LayoutRoot" Background = "White"> 
	
      <Border BorderBrush = "Blue" BorderThickness = "4" CornerRadius = "20" >
		
         <Border.Background>
			
            <LinearGradientBrush StartPoint = "0,0" EndPoint = "0,1"> 
               <GradientStop Offset = "0.0" Color = "White" /> 
               <GradientStop Offset = "0.15" Color = "#cef" /> 
               <GradientStop Offset = "1.0" Color = "White" /> 
            </LinearGradientBrush> 
				
         </Border.Background> 
			
         <TextBlock HorizontalAlignment = "Center" VerticalAlignment = "Center" 
            Text = "Silverlight Application" TextOptions.TextHintingMode = "Animated" 
            TextAlignment = "Center" TextWrapping = "Wrap" 
            FontSize = "72" FontFamily = "Trebuchet MS" > 
					 
               <TextBlock.Effect> 
                  <DropShadowEffect Color = "#888" /> 
               </TextBlock.Effect> 
				
         </TextBlock>
			
      </Border> 
		
   </Grid>
	
</UserControl>

Step 1 - Um die Ausführung außerhalb des Browsers zu aktivieren, rufen Sie das Projekt auf Propertiesund klicken Sie auf die Registerkarte Silverlight. Alles was wir tun müssen ist - überprüfen Sie dieEnable running application out of the browser Kontrollkästchen.

Wenn Sie diese Anwendung ausführen, werden Sie feststellen, dass Sie überhaupt keinen Webbrowser erhalten.

Tatsächlich hat Visual Studio in Ihrem Namen eine Entscheidung getroffen. Wenn Sie aktiviert habenout-of-browser Ausführung, es hat Ihre Debug-Einstellungen unfair geändert.

Step 2 - Also hier in der Solution ExplorerBeachten Sie, dass das Silverlight-Projekt jetzt fett gedruckt ist, was darauf hinweist, dass es sich um ein Startprojekt handelt.

Das war vorher nicht der Fall. Es war das Webprojekt gewesen. Im Moment wollen wir das nicht, weil wir zeigen wollen, wie dieses Kontrollkästchen die Dinge für den Endbenutzer ändert.

Step 3 - Wir werden das Webprojekt wieder auf das StartUp-Projekt setzen.

Step 4 - Führen Sie die Anwendung erneut aus, und Sie werden sehen, dass die Anwendung jetzt wieder im Browser ist.

Step 5- Klicken Sie mit der rechten Maustaste auf die Webseite. Sie werden den üblichen Silverlight-Eintrag im Kontextmenü und ein zusätzliches zu installierendes Element bemerken.

Step 6 - Wenn Sie die zweite Option auswählen, wird das Dialogfeld Anwendung installieren wie unten gezeigt angezeigt.

Beachten Sie, dass die Stamm-URL der Website angezeigt wird, von der die Anwendung stammt. Wir verwenden den von Visual Studio bereitgestellten lokalen Debug-Webserver, weshalb localhost angezeigt wird.

Step 7 - Klicken Sie auf OKund die Anwendung wird in einem eigenen Fenster ausgeführt, das vom Browser getrennt ist.

Es mag natürlich sein zu glauben, dass dieses Fenster irgendwie dem Browser gehört oder mit ihm verbunden ist, aber das ist es nicht. Sie können den Browser schließen und dieses Fenster bleibt bestehen. Noch wichtiger ist, dass Sie dieses Fenster schließen und die Anwendung erneut ausführen können, ohne den Browser zu verwenden.

Step 8 - Wenn Sie die öffnen Search Dialogfeld in der Start Menü und beginnen Sie mit der Eingabe des Anwendungsnamens, es wird wie jede normale Windows-Anwendung angezeigt.

Step 9 - Sie können es ausführen, ohne dass der Browser in Sichtweite ist.

So deinstallieren Sie die Anwendung

Das Standardkontextmenü in der Anwendung bietet eine einfache Möglichkeit, dies zu tun. Ein Benutzer kann davon ausgehen, dass er dies genauso wie jede andere Anwendung deinstalliert.

Sie können auch entfernen, indem Sie mit der rechten Maustaste auf die Webseite klicken und auswählen Remove this application….

OOB-Einstellungen

Obwohl wir nur eine einzige Einstellung ändern mussten, um den Betrieb außerhalb des Browsers zu ermöglichen, möchten Sie in der Praxis normalerweise etwas mehr tun. DasAppManifest.xaml Datei kann mehrere Einstellungen enthalten, die sich auf beziehen out-of-browser Operation, die wir normalerweise über Visual Studio konfigurieren.

Wie Sie vielleicht bemerkt haben, als Sie das Kontrollkästchen aktiviert haben running out-ofbrowser, Visual Studio hat eine Schaltfläche mit der Bezeichnung aktiviert Out-of-Browser Settings.

Schauen wir uns das an, indem wir auf die Schaltfläche klicken. Das folgende Dialogfeld wird angezeigt.

  • Das erste, was wir konfigurieren können, ist der Text, der als angezeigt wird Window Title.

  • Wir haben auch die Möglichkeit, die Fensterabmessungen und -positionen zu korrigieren, aber wir werden diese vorerst automatisch aktivieren.

  • Dieser Verknüpfungsname wird im angezeigt Start Menü und den Desktop-Link für die App, sobald sie installiert ist.

  • Es ist auch der Text, der im Kontextmenü und im Dialogfeld "Anwendung installieren" angezeigt wird.

  • Diese Anwendungsbeschreibung wird im Tooltip angezeigt, wenn ich mit der Maus über die Verknüpfungen fahre.

  • Wir können Symbole in verschiedenen Größen bereitstellen. Diese müssen in Ihr Projekt eingebaut werden.