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