2013-06-11 43 views
2

我在嘗試將更新部署到我的siliverlight應用程序時遇到問題。對於一些用戶而言,並非所有用戶爲了頁面更新都必須清除瀏覽器本地緩存。刷新不會更新頁面,並且它們會遇到問題,因爲它似乎對更新的服務器使用本地版本。覆蓋現有文件後應用程序未更新

有沒有什麼辦法來迫使客戶端時,我做出改變來更新他們的本地副本?

+1

在索引站點中的xap url後面放置一個具有自定義變量的僞查詢字符串。每次更新網站時,都要更改變量。我們使用版本號。 'myapplicaton.xap?version = 1' – Silvermind

+0

對於爲網站添加書籤的用戶而言,這種方式不適用於正確的網站嗎? – JeremyK

+1

這並不重要,因爲xap url沒有加入書籤。 xap url只在index.aspx中使用。 – Silvermind

回答

3

在主頁面例如index.aspx你可以把假的查詢字符串以下行的值:

<param name="source" value="ClientBin/MyApplication.xap?version=1.0.0.0" /> 

當你更新你的應用程序,更改版本號例如1.0.0.1 這是我們如何強制客戶端下載最新的.xap文件。 書籤不存在問題,因爲此網址永遠不會出現在地址欄中。 客戶端將代之以書籤類似http://myurl/index.aspx.

+0

今晚我會給你一個鏡頭,如果它有效,接受它,但看起來堅實。非常感謝你。由於某些原因,我錯誤地將第一條評論誤解爲.aspx,而不是xap。 – JeremyK

+0

@JeremyK當然,它可能是另一種類似於「MVC」的變體。我只是假設'aspx'沒有很好的理由:)。 – Silvermind

+0

nonono它是。我剛剛讀取值=「ClientBin/MyApplication.xap?version = 1.0.0.0」as value =「ClientBin/MyApplication.aspx?version = 1.0.0.0」讀取速度太快。到目前爲止,所有看起來不錯,謝謝銀 – JeremyK