天天看點

Silverlight奇技銀巧7 - 巧用檔案生成時間強制用戶端載入最新xap檔案

  像大多數的項目一樣,即使在将Silverlight應用程式傳遞後,我們仍會根據客戶的需求進行相應修改并将xap檔案發送給客戶,客戶經過測試後再部署到生産環境。

    這樣經常會面臨一個問題,客戶更新xap後并未看到任何變化甚至由于我們wcf服務等相關檔案的改動會讓程式執行發生異常。這個原因倒是很明顯--我們的xap檔案被緩存了,當伺服器上替換了新的xap檔案時,本地并未重新從伺服器上下載下傳。這時候我們當然就要告知客戶如何清理緩存等等,再碰到個電腦盲(大多情況下)更是苦不堪言。客戶抱怨,項目經理啞巴吃黃連…

    那麼有沒有一種方法可以解決上面提到的問題呢?當然,且聽分解。

    我們先看一段在html中簽入Silverlight應用的标準代碼示例

    注意下面這行,我們就要從這裡下手。

    我們知道,要防止浏覽器自動緩存檔案,經常用的一個做法就是在要加載的檔案名後面加入一個随機字元串(比如驗證碼的重新整理),如Guid、DateTime.Now.Ticks一類。

    是以我們這裡的思路就是通過判斷xap檔案的生成時間而決定是否重新載入xap包。

    最終View的全部代碼如下:

注意,這裡我是用ASP.NET MVC(Razor文法)承載xap,對WebForm或WebForm View同樣适用,請自行更改。

本文轉自紫色永恒部落格園部落格,原文連結:http://www.cnblogs.com/024hi/archive/2011/01/07/1929441.html  ,如需轉載請自行聯系原作者

繼續閱讀