|
Silverlight中的程序集緩存可以將一些獨立的程序集放在XAP包外邊并可以緩存在客戶端的瀏覽器中,這樣就可以減少程序啟動時下載XAP包的時間。默認情況下Silverlight并沒有開啟程序集緩存,因此需要自己動手開啟。
右鍵打開項目的屬性,并在通過使用應用程庫緩存較小XAP大小選項打鉤,如圖:
在沒選擇此項之前編譯項目看一下XAP中的DLL,如圖:
重新編譯項目,選擇顯示所有文件然后打開Bin/Debug目錄,會看到每一個緩存程序集都有自己的zip文件包。比如,如果使用了System.Windows.Controls.dll,會看到一個System.Windows.Controls.zip的文件,如圖:
這個ZIP包就包含了System.Windows.Controls.dll,如圖:
而原來的XAP包將不在存在此DLL,如圖:
如果使用的是ASP.NET作為測試網站,Visual Studio將會把XAP包和所有的緩存程序集一并拷入ClientBin目錄下,如圖:
這是沒有使用緩存程序集前的ClientBin目錄下的內容,如圖:
使用程序集緩存在第一次打開程序時并沒有多大的性能改善,因為它還是需要XAP包和其他的ZIP內容一塊下載下來。但在用戶在第二次打開程序時,因為這些獨立的程序集已經被緩存到客戶端不用重新下載,這樣就提高了用戶的訪問速度。
使用技巧:
1.緩存的程序集和瀏覽器的緩存有效期相同。如果用戶手動清除了緩存,程序集緩存也將同樣被清除掉。
2.用戶每次運行程序時,程序都會自動檢查程序集是否有最新的版本。如果有,則下載并替換原來緩存的程序集。
3.如果一個程序將程序集下載并緩存在瀏覽器中,其它使用緩存程序集的程序也可以使用。
4.程序集緩存在體積大,使用頻繁并且不經常改變的程序集上優勢會更加明顯。對于那些體積小,程序在啟動時下載花費時間少的程序集,盡量避免使用這種方法,因為這樣在程序部署時會帶來麻煩(程序集緩存后會產生多個ZIP包,部署時需要把所有的文件都放在站點下)。
5.自定義程序集不支持程序集緩存,比如自己創建的某個類庫。
NET技術:Silverlight程序集緩存巧妙設置 優化用戶體驗,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。