成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

圖文介紹在瀏覽器外運行Silverlight應用

開發 后端
Silverlight3 Beta發布后有許多振奮人心的新特性,其中一個很顯著的特點就是其應用可以在瀏覽器外運行。本文作者將為大家用圖文進行介紹。

Silverlight3一個很顯著的特點就是其應用可以在瀏覽器外運行。就是說一個在瀏覽器中運行的應用可以被獨立(detached)出來,并通過一 個桌面和開始菜單欄圖標來啟動執行,而不在需要有網絡連接。這樣給人的感覺其就像一個普通的桌面應用而不是一個瀏覽器應用程序。

為了實現獨立(detached),用戶必須對這類應用有個明確的選擇:“該應用在沒有用戶通知的情況下是不可以detached它自己的。下面用一 個例子“Hello World”來展示一下:

還有一些代碼:

public partial class MainPage : UserControl{public MainPage()    
{InitializeComponent(); OnExecutionStateChanged(null, null);
App.Current.ExecutionStateChanged += OnExecutionStateChanged; }
void OnExecutionStateChanged(object sender, EventArgs e)
{txtStatus.Text = App.Current.ExecutionState.ToString();}
void OnClicked(object sender, RoutedEventArgs args)    

{ App.Current.Detach();
}}

然后我們在瀏覽器中運行它并看到一個新的鼠標右擊菜單:

  

其允許將該應用獨立出來并安裝到本地。并且你會注意到,該菜單項是灰色的。同樣地,我們可以在按鈕事件中加入一些代碼并嘗試分離這 個應用。void OnClicked(object sender, RoutedEventArgs args){      App.Current.Detach();} 但它并 沒有啟作用,因為右鍵菜單依舊是灰的.原因在于這個應用沒有相應的元數據支持。為了提供元數據,我們要編輯一下 appmanifest.xml 文件 :

<Deployment xmlns="
xmlns:x="
</Deployment.Parts>  
<Deployment.ApplicationIdentity>
<ApplicationIdentity ShortName="Mike's Silverlight App" Title="Mike's App Window">
<ApplicationIdentity.Blurb>Mikes Application Blurb</ApplicationIdentity.Blurb>
<ApplicationIdentity.Icons>
<Icon Size="16x16">icons/16x16.png</Icon>
<Icon Size="32x32">icons/32x32.png</Icon>
<Icon Size="48x48">icons/48x48.png</Icon>
<Icon Size="128x128">icons/128x128.png</Icon>
</ApplicationIdentity.Icons>
</ApplicationIdentity>
</Deployment.ApplicationIdentity></Deployment>

注:上面這些圖標文件必須在VS中以內容"Content"的文件嵌入到XAP文件中。但我并不確保你也需要這里所有的文件,特別是這個 "128x128"(文件);

這樣當單擊鼠標右鍵后該菜單項將會變成“有效”:

接著,我們前面創建的這個按鈕將會觸發一個對話框,提供給我們兩個選項:“將這個要運行在瀏覽器外的應用安裝到桌面或開始菜單中” 。

 注:那是個標準對話框,而通過使用我本人頭像設置的對話框是下面這個樣子

但我不打算這樣做,我想還是顯示標準對話框會好一些。

如果點擊該對話框后,該應用會嘗試 detach 它自身。對我而言,它所做的工作就是確保本地XAP文件的有效性。而不是去嘗試把其它與它 相關聯的資源也獲取到本地。

    注:第二個應用拷貝現在運行在了窗體中,它與瀏覽器窗體還是有一些區別的。

    現在我在桌面上有了該應用的一個圖標:

    并且在開始菜單中也有:

    如果我從這兩個地方運行這個應用時,會看到一個“非瀏覽器”的應用:

    此時當我在瀏覽器中運行這個原始(版本)的應用時,它顯示了相同的“Detached”狀態:

好的,現在我修改一下原應用,將背景設置為"red":

然后再次運行并發布這個新的XAP到WEB服務器上。起初,它顯示“Detached”,然后它切換到“DetachedUpdatesAvailable".這意味著可以 告訴用戶該應用已被更新,并提示他們重啟該應用:

     之后,將他們再運行該應用時,會獲取到新的版本(我更新到服務器上的那個版本):

 

     如果想刪除該應用,可以在本地的“detached”拷貝或瀏覽器中右擊菜單:

     如果我點擊上面菜單后,就會將開始菜單和桌面圖標移除,這樣在瀏覽器中該應用的狀態就從“Detached”變 成了“RunningOnline”.

盡管 App.Current.ExecutionState屬性返回“Detached”,但這與你在瀏覽器或本地運行該應用是無關的。這是需要有另一個標志來決定 該應用是從瀏覽器還是從本地(分離)啟動。

在Application中有一個標志即“RunningOffline”,看上去它會返回true/false 狀態。True意味著當前應用是從本地獨立啟動的,而 False則是在瀏覽器中啟動的。

就當前應用實際運行的代碼而言,當其離線時(offline),存在一個進程(文件位于:Program Files\Microsoft Silverlight\VERSION\sllauncher.exe).看上去它就是通過應用名稱去運行相應程序。使用Reflector去瀏覽一下,發現其進程好像是非托管的 運行,因此我不認為能從中能獲取一些內部信息。但其值得一說的是該launcher的roles之一就是保持應用的上下文安全。即:如果應用是從域 foo.com獲取,那么該應用就必須本地化運行。盡管它是從foo.com上啟動(launched)的。

還有要注意的是這種detached在功能上貌似依賴于Isolated Storage(隔離)存儲。因為我發現當把應用“detached”時,必須在打開 Isolated Storage,真是如此。

【編輯推薦】

  1. 走向銀光 —— 一步一步學 Silverlight2
  2. 圖解Silverlight 3的7個新功能
  3. 用Silverlight 3的位圖API實現可寫位圖
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-12-31 15:58:11

Silverlight

2009-12-15 13:47:33

Silverlight

2009-12-30 18:07:54

Silverlight

2012-03-06 09:18:38

Silverlight

2012-03-20 11:07:08

2012-03-20 11:31:58

移動瀏覽器

2012-03-19 17:25:22

2012-03-20 11:41:18

海豚瀏覽器

2021-09-12 12:00:12

瀏覽器LinuxWeb 應用

2012-03-19 17:17:00

移動瀏覽器歐朋

2012-03-20 11:22:02

QQ手機瀏覽器

2009-02-19 09:42:01

SliverlightChrome微軟

2022-04-25 10:26:11

Python代碼瀏覽器

2012-03-20 11:25:07

360手機瀏覽器

2012-03-19 17:07:31

Safari

2012-03-20 13:12:38

百度手機瀏覽器

2009-03-22 10:08:25

SilverLight瀏覽器

2010-01-04 10:17:16

Silverlight

2009-12-31 15:01:07

Silverlight

2017-03-03 16:50:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲www啪成人一区二区麻豆 | 国产999精品久久久久久 | 精品亚洲一区二区 | 国产线视频精品免费观看视频 | 日日日色| 欧美日韩国产精品一区 | 一级毛毛片 | 国产精品日韩一区 | 国产日韩av一区二区 | 久久性| 久久精品这里精品 | 国产精品久久久久久吹潮日韩动画 | 欧美区在线 | 国产亚洲精品美女久久久久久久久久 | 欧美成人免费在线视频 | 午夜小电影 | 国产视频中文字幕 | 美美女高清毛片视频免费观看 | 国产91久久精品一区二区 | 国产一区二区三区免费观看视频 | 少妇久久久 | www.蜜桃av| 国产精品久久久久久久久图文区 | 国产精品一区二区久久久久 | 精品亚洲永久免费精品 | 在线观看国产网站 | 国产一区二区黑人欧美xxxx | 91色在线视频 | 九九精品在线 | 日日摸日日添日日躁av | 精品免费视频一区二区 | 久久国产精品亚洲 | 国产美女免费视频 | 中文字幕在线观看成人 | 欧美视频1区 | 91av在线影院 | 午夜免费小视频 | 国产高清一二三区 | 久久免费精品 | 久久精品一区二区三区四区 | 欧美一二三四成人免费视频 |