强制客户端更新Silverlight XAP文件方法汇总

方法2,动态方式强制更新  

所谓动态方式强制更新,其实每次部署时使用不同的XAP文件名,浏览器每次检测到不同的文件名,则将重新下载XAP文件。  

这种方式有很多种实现方法,例如,可以手动添加一个XAP文件参数,也可以动态生成一个随机参数,或者根据不同版本号绑定到XAP文件名后等。

在下面实例代码中,根据部署的日期不同,将日期字符串作为XAP文件的参数,以此强制更新XAP文件,  

代码修改静态代码”<param name="source" value="ClientBin/SilverlightApp.xap"/>“为动态代码,当项目不是在Debug模式下,则生成新的XAP文件路径。  

<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" />

 

 

方法3, 本地自动生成版本号强制更新XAP文件  

该方法由网友”菩提树下的杨过“提出,作者创建简单本地应用,使用本地应用生成不同的XAP文件名参数,其原理与方法2相同,实现方法不同。

详细请看教程 ”Silverlight:xap包(或本地缓存)下载版本更新的解决思路“。  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。