Silverlight如何使用應用程式庫快取

2021-08-24 21:53:36 字數 2046 閱讀 7971

應用程式庫快取可在使用者重新訪問**時幫助改善啟動效能。

當您使用應用程式庫快取時,silverlight 將某些程式集打包成應用程式包外部的外部部件(.xap 檔案)。應用程式包中的清單指定啟動時所需的程式集,並指示它們是在應用程式包的內部還是外部。

silverlight 隨 silverlight sdk 提供了許多庫,而它們不是執行時的組成部分。這些庫已預配置為用於應用程式庫快取。在 visual studio 中,這些庫與執行時程式集一起位於"新增引用"對話方塊的".net"選項卡上。還可以從 silverlight sdk 資料夾訪問它們。預設情況下,silverlight sdk 安裝在 %programfiles%/microsoft sdks/silverlight 資料夾中。還可以配置自己的程式集,以便支援應用程式庫快取。

下面的過程介紹如何啟用和使用應用程式庫快取,以及如何配置自己的程式集進行快取。

啟用應用程式庫快取

在"解決方案資源管理器"中,選擇要為其啟用庫快取的 silverlight 應用程式專案。

在"專案"選單上,選擇專案名稱"屬性"。

將顯示專案設計器。

在"silverlight"選項卡上,選擇"使用應用程式庫快取減少 xap 大小"。

說明:

不能在同乙個應用程式中使用應用程式庫快取和瀏覽器外支援。瀏覽器外應用程式要求所有啟動程式集駐留在應用程式包中。

新增對於 silverlight sdk 中某個庫程式集的引用,或者新增對於由有效的 assemblyshortname.extmap.xml 對映檔案伴隨的任何程式集的引用。

這會導致發生以下操作:

將程式集配置為用於應用程式庫快取

在程式集所在的相同位置建立乙個對映檔案。此檔案必須與程式集同名,而將 .dll 副檔名替換為".extmap.xml"。例如,silverlight sdk 程式集 system.json.dll 具有名為 system.json.extmap.xml 的對映檔案。

按下面示例中所述將配置資料新增到對映檔案中,並替換程式集元素中的值以與程式集匹配。

複製**

<?xml version="1.0"?>system.json

2.0.5.0

31bf3856ad364e35

system.json.dll

name、version 和 publickeytoken 元素必須與對應的程式集元資料相匹配。relpath 元素指示程式集檔名。最後,extension 元素通過 downloaduri 屬性指示打包的外部部件的名稱。

downloaduri 屬性 (attribute) 值用於填充應用程式清單中的 extensionpart..::.source 屬性 (property),如下面的清單摘要中所示。

複製**

如果 downloaduri 值是乙個檔名,則當您新增對程式集的引用時,visual studio 提供以下支援:

如果 downloaduri 是乙個絕對 uri,生成系統將不會對程式集打包。而是由您負責壓縮程式集並將其部署到指定的 uri。這可用於建立由多個應用程式使用的庫的單一儲存庫。但是,當您使用絕對 downloaduri 值時,應考慮以下問題。

在 visual studio 中測試應用程式庫快取

開啟下面的 windows 功能:

iis 是必需的,因為 visual studio 開發伺服器在其 http 響應標頭中不啟用快取。

在管理員帳戶的上下文中執行 visual studio。

在包含 silverlight 專案的解決方案中,加入用於測試的 web 專案。

將 web 專案配置為使用 iis,並從 http 通訊監視器中啟用 localhost 監視。(例如,fiddler 提供了乙個** url,您可以用它來替換"啟動 url"值中的"localhost"。)

執行以下操作並觀察產生的 http 通訊:

參考externalpart

extensionpart

其他資源

應用程式結構

silverlight 中的 http 通訊和安全

如何在Silverlight中使用Cookie

cookie是我們在瀏覽器中經常用到的乙個儲存方式,他操作簡便容易讀取容易維護,可能有人在想在silverlight中能使用cookie嗎?答案是必然的 下面就讓我來為大家介紹一下在sl中使用cookie的方法吧 建立乙個cookie還會用到我們的老朋友 htmlpage.document 建立co...

如何在Silverlight4中使用攝像頭

今天在乙個老外的 上看到webcam的使用示例 非常簡單,整理如此 介面 乙個button,乙個rectangle,哈,夠簡單吧 圖1按下按鈕,將連線到攝像頭 關鍵 稍做解釋 1.先得到乙個videocapturedevice物件 2.然後呼叫capturedeviceconfiguration.r...

如何建立新Silverlight專案

silverlight 專案檔案是您可以使用不同工具來建立和編輯的文字檔案。例如,可以使用 visual studio 2008 和 expression blend 來建立 silverlight 專案或修改現有專案。有關更多資訊,請參見 expression blend 文件。本主題介紹如何使用...