我有一個巨大的業務,需要很多頁面,控件等應用程序.xap文件很容易上升到50MB。我注意到,每當我加載頁面時,.xap文件都被下載到我的本地。但是,我的用戶可能會使用3G網絡進行連接,因此,如果我們每次打開頁面時都下載應用程序,則它必須非常慢。所以我想知道是否有一些方法可以做類似於WPF的部署,只有當版本改變時才能下載到本地。...Silverlight部署到瀏覽器
歡迎任何其他改善加載速度的建議。
非常感謝
我有一個巨大的業務,需要很多頁面,控件等應用程序.xap文件很容易上升到50MB。我注意到,每當我加載頁面時,.xap文件都被下載到我的本地。但是,我的用戶可能會使用3G網絡進行連接,因此,如果我們每次打開頁面時都下載應用程序,則它必須非常慢。所以我想知道是否有一些方法可以做類似於WPF的部署,只有當版本改變時才能下載到本地。...Silverlight部署到瀏覽器
歡迎任何其他改善加載速度的建議。
非常感謝
首先和最讓你的Web服務器緩存頭排序。通常,您可以在IIS管理器中打開ClientBin文件夾並輸入HTTP Response Header部分。將有效期限設置爲1天(或者如果您在正常工作時間內更新爲15分鐘)。請注意,僅僅因爲內容過期並不意味着它會被重新下載,但它確實意味着在使用之前它會被緩存。如果瀏覽器已經過期,瀏覽器會通知服務器當前擁有的版本,從而允許服務器簡單地迴應「繼續並使用它自上次檢查以來沒有改變」。
對於如此龐大的系統,您應該認真考慮將應用程序分成多個dll項目。然後使用主應用程序項目屬性中的應用程序庫緩存功能。您需要爲每個DLL創建適當的.extmap.xml文件。許多SDK和工具包DLL已經有了它們。這導致這些dll的獨立.zip文件被放置在ClientBin文件夾中,而沒有合併到一個大的Xap中。這允許您將緩慢移動/永不改變的代碼分隔成一組zip,並更頻繁地將業務代碼更改爲另一組。當您更新應用程序時,您只更新更改的zip文件,從而減少新版本的下載負擔。 (注意這隻適用於基於瀏覽器的應用程序)。
在serverlight項目選項中,使用應用程序庫緩存檢查Reduce XAP大小。
你預期的要設置Web服務器緩存的XAP文件;那就是要走的路。 – 2011-05-24 17:00:07