Silverlight實例教程 - Out of Browser開篇

作者: jv9  來源: 博客園  發布時間: 2010-08-11 21:14  閱讀: 4780 次  推薦: 1   原文鏈接   [收藏]  

  Silverlight 實例教程索引

  眾所周知,學習一門IT技術,最關鍵的是實踐,無論是軟件開發還是網絡調試,只要在真實環境下勤于動手和思考,很快就能掌握一門技術,Silverlight也不例外。為了幫助更多朋友快速學習掌握Silverlight應用開發,我計劃以實例應用的方式,講述Silverlight的各個特性,從而達到在學習理論的基礎上,和實踐相結合的目的。在每個階段的實例教程中,將圍繞一個Silverlight特性為核心主題進行擴展學習。

  我的開發環境是:

  • Windows 7 Ultimate 英文版
  • Visual Studio 2010 Premium 英文版
  • Expression Blend 4 Premium 英文版
  • Silverlight 4

  第一篇Silverlight實例應用,我們從Silverlight的Out-of-Browser開始。在實例開始之前,我們對Silverlight的Out-of-Browser進行一個理論回顧。

  什么是Silverlight的Out-of-Browser應用?

  Silverlight Out-of-Browser應用,從字面理解是Silverlight脫離瀏覽器的應用,也可以理解為Silverlight離線應用,簡稱為OOB。微軟給出的解釋是OOB應用是可以安裝到本地的運行在瀏覽器之外的應用,簡單的理解,Silverlight OOB應用就是一個不需要存取HTML DOM,并且完全脫離瀏覽器,具有獨立窗口的Web應用。微軟在Silverlight 3已經發布該功能,由于當時Silverlight 3的種種限制,Silverlight的OOB應用基本沒有過多的發展,但是這個新特性給當時的開發人員留下了深刻的印象,微軟在隨后的Silverlight 4版本中,對OOB功能進行的強化,例如OOB的權限信任支持,自定義窗口設計支持,消息通告API支持等。這些功能,不僅增強了Silverlight跨平臺應用功能支持,而且還加大了用戶對Silverlight離線應用的體驗。

  讓我們看一個Silverlight OOB的案例,下圖是新浪財經的Silverlight OOB應用,該應用作為獨立窗口運行,沒有基于瀏覽器,

  Silverlight Out-of-Browser的運行原理?

  Tim Heuer是微軟Silverlight項目經理,他的博客中曾經發表過相關Silverlight Out-of-Browser的運行原理 , 在這里我們以簡單的方式理解一下Silverlight OOB的運行原理。

  作為Silverlight開發人員應該都知道訪問Silverlight應用其實就是對服務器端的XAP文件進行讀取,Silverlight OOB同樣是基于Silverlight技術的應用,所以OOB應用也是訪問運行XAP文件,但是該文件是來自本地的目錄。  Silverlight OOB應用的訪問步驟:

  1. 首先需要配置AppManifest.xml,使應用支持Out-of-Browser;

  2. 然后安裝OOB應用,這時Silverlight項目的XAP文件將被下載到一個本地目錄存儲;

  3. 在本地運行OOB應用,這時,應用會根據XAP的原始URL發出請求,檢測是否有新版本,如果有,則更新,如果沒有將繼續運行;

  以上是最簡單的理解,在網絡上有一篇翻譯Tim的文章,大家可以閱讀Silverlight OOB的運行原理中文版加深理解

  Silverlight Out-of-Browser的存儲位置?

  上文已經講到Silverlight OOB應用,安裝成功后,XAP將保存在本地目錄,而這個目錄從桌面快捷方式是無法查看到的,例如剛才我們演示的新浪財經OOB應用,在快捷方式中,僅顯示“"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 3161465351.vip.stock.finance.sina.com.cn”, 從上面目錄下的metadata元數據文件中可以得知3161465351.vip.stock.finance.sina.com.cn是該用戶的唯一的AppID。

  而其真實存儲目錄則在C:\Users\<login id>\AppData\Local\Microsoft\Silverlight\OutOfBrowser\3161465351.vip.stock.finance.sina.com.cn,

 1 ShortcutName=新浪財經
 2 LaunchPath=C:\Users\kevin.fan\AppData\Local\Microsoft\Silverlight\OutOfBrowser\3161465351.vip.stock.finance.sina.com.cn\index.html
 3 CustomIcon=1
 4 TrimmedSourceDomain=vip.stock.finance.sina.com.cn
 5 TrimmedTitle=新浪財經
 6 TrimmedName=新浪財經
 7 ElevatedPermissions=2147483647
 8 XapLastModified=Thu, 27 May 2010 07:01:27 GMT
 9 EnableGPUAcceleration=False
10 WindowStartupLocation=0
11 WindowTop=0
12 WindowLeft=0
13 WindowWidth=800
14 WindowStyle=0
15 WindowHeight=600
16 SourceDomain=vip.stock.finance.sina.com.cn
17 OriginalSourceUri=http://vip.stock.finance.sina.com.cn/silverpulse/ClientBin/Loader.xap
18 FinalAppUri=http://vip.stock.finance.sina.com.cn/silverpulse/ClientBin/Loader.xap
19 RuntimeVersion=4.0.50401.0
20 AppID=3161465351.vip.stock.finance.sina.com.cn
21 Description=新浪財經
22 Title=新浪財經
23 Name=新浪財經

  Silverlight In-of-Browser和Silverlight Out-of-Browser的對比

  在Silverlight 4中,微軟對OOB功能進行了強化,對比Silverlight In-of-Browser和Out-of-Browser,在功能上有著很大的差異,

  1. OOB應用最大的特點是用戶可以不需要任何網絡支持在本地運行應用;

  2. OOB應用支持Trust權限提升功能,也就是所謂的Elevated Trust模式,該模式是Silverlight 4 OOB強化中最關鍵的特征之一,通過權限提升,OOB應用可以做到許多Windows應用功能,例如:

a. 在權限允許的情況下,OOB應用可以訪問本地文件目錄;

b. 在權限允許的情況下,OOB應用可以被鎖定顯示自定義應用圖標在Windows開始菜單和任務欄中;

c. 在權限允許的情況下,OOB應用可以訪問COM API;

d. 在權限允許的情況下,OOB應用支持XAP簽名認證;

e. 在權限允許的情況下,OOB應用支持消息通知API調用;

d. 在權限允許的情況下,OOB支持HTML WebBrowser;

  3. OOB應用每次運行都需要進行版本升級檢查,而In-of-Browser則是項目運行時自動更新;

  4. OOB應用無法接收初始化參數數據,而In-of-Browser可以;

  5. 對于Isolated Storage空間的分配,OOB應用默認分配25M,而基于瀏覽器的Silverlight應用僅為1M,但是兩者都允許用戶進行自定義擴展;

  以上是Silverlight Out-of-Browser的一些基本理論,在理論的基礎上,我們將開始下一篇的實例演示。

1
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()