強制用戶端更新Silverlight XAP檔案方法匯總

來源:互聯網
上載者:User

 650) this.width=650;" alt="" src="http://www.bkjia.com/uploads/allimg/131228/130445I05-0.png" border="0" height="166" width="169" style="line-height: 1.8; background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: Georgia, 'Times New Roman', Times, san-serif; font-size: 14px; text-align: left; border: 0px; " />

 

在Silverlight相關技術論壇經常會看到Silverlight部署後,用戶端無法更新本地XAP檔案,每次只能通過手動清理瀏覽器緩衝,用戶端才能正常訪問到最新版本的XAP檔案。本文將介紹幾種強制用戶端更新Silverlight XAP的方法。

 

預設來說,當新版本的Silverlight應用發布時,瀏覽器緩衝會查詢本地是否已經存在同名XAP檔案,並進行簡單校正,如果存在並且驗證相同,將忽略下載更新最新版本XAP檔案。我們可以通過以下幾種方式,強制瀏覽器更新下載XAP檔案,

 

方法1. IIS設定方式

通過在設定IIS屬性,強制XAP檔案到期,使瀏覽器將重新下載XAP檔案,步驟如下:

- 開啟IIS管理器;

- 開啟“預設網站”, 然後找到部署的Silverlight項目;

- 在“ClientBin”目錄下找到XAP檔案;

- 進入XAP屬性頁面,然後選擇“HTTP Response Headers”;

 650) this.width=650;" alt="" src="http://www.bkjia.com/uploads/allimg/131228/1304452E1-1.jpg" height="101" width="93" style="border: 0px; " />

- 在Actions欄,選擇“Set Common Headers...";

 650) this.width=650;" alt="" src="http://www.bkjia.com/uploads/allimg/131228/130445I60-2.jpg" height="66" width="204" style="border: 0px; " />

- 選擇”Expire Web Content - Immediately“, 然後儲存設定。

650) this.width=650;" alt="" src="http://www.bkjia.com/uploads/allimg/131228/130445F25-3.jpg" height="305" width="490" style="border: 0px; " /> 

這樣設定後,每當頁面重新整理時將強制Web頁面內容到期,立即重新下載最新的XAP檔案到本地。

 

方法2,動態方式強制更新 

所謂動態方式強制更新,其實每次部署時使用不同的XAP檔案名稱,瀏覽器每次檢測到不同的檔案名稱,則將重新下載XAP檔案。

這種方式有很多種實現方法,例如,可以手動添加一個XAP檔案參數,也可以動態產生一個隨機參數,或者根據不同版本號碼綁定到XAP檔案名稱後等。

在下面執行個體代碼中,根據部署的日期不同,將日期文字作為XAP檔案的參數,以此強制更新XAP檔案,

代碼修改靜態代碼”<param name="source" value="ClientBin/SilverlightApp.xap"/>“為動態代碼,當項目不是在Debug模式下,則產生新的XAP檔案路徑。

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/130445C64-4.gif" alt="複製代碼" style="border: 0px rgb(221, 221, 221); " /><object id="Xaml1" data="data:application/x-silverlight-2," type="application/x-silverlight-2"
width="100%" height="100%">

<%
string orgSourceValue = @"ClientBin/SilverlightApp.xap";
string param;
if (System.Diagnostics.Debugger.IsAttached)
param = "<param name=\"source\" value=\"" + orgSourceValue + "\" />";
else
{
string xappath = HttpContext.Current.Server.MapPath(@"") + @"\" + orgSourceValue;
DateTime xapCreationDate = System.IO.File.GetLastWriteTime(xappath);
param = "<param name=\"source\" value=\"" + orgSourceValue + "?ignore="
+ xapCreationDate.ToString() + "\" />";
}
Response.Write(param);
%>
<param name="onError" value="onSilverlightError" />650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131228/130445C64-4.gif" alt="複製代碼" style="border: 0px rgb(221, 221, 221); " />

 

 

方法3, 本地自動產生版本號碼強制更新XAP檔案

該方法由網友”菩提樹下的楊過“提出,作者建立簡單本地應用,使用本地應用產生不同的XAP檔案名稱參數,其原理與方法2相同,實現方法不同。

詳細請看教程 ”Silverlight:xap包(或本機快取)下載版本更新的解決思路“。

 

如果您有更好的方法和建議,歡迎留言討論。

 

推薦Silverlight 5書籍

650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131228/1304452121-6.jpg" width="245" height="300" style="border: 0px; margin: 0px; padding: 0px; cursor: pointer; " />


650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131228/1304454N0-7.jpg" width="385" height="374" style="border: 0px; margin: 0px; padding: 0px; cursor: pointer; " />
 

Beginning Silverlight 5 in C#, Silverlight5入門級書籍,該書詳細介紹Silverlight 5開發基礎,由淺入深的介紹Silverlight 5新功能。

適合Silverlight入門閱讀。

書籍下載

 

 

 

 

歡迎大家加入“專註Silverlight”QQ技術群,歡迎大家加入一起學習討論Silverlight&WPF&Widnows Phone開發技術。 
22308706(一群) 超級群500人 
37891947(二群) 超級群500人 
100844510(三群) 進階群200人 
32679922(四群) 超級群500人 
23413513(五群) 進階群200人 
32679955(六群) 超級群500人 
88585140(八群) 超級群500人 
128043302(九群 公司專屬應用程式開發推薦群) 進階群200人 
101364438(十群) 超級群500人 
68435160(十一群 公司專屬應用程式開發推薦群)超級群500人

本文出自 “Kevin Fan” 部落格,請務必保留此出處http://kevinfan.blog.51cto.com/1037293/933181

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.