
我见过另一个帖子:
How do you force Firefox to not cache or re-download a Silverlight XAP file?
最好的解决方案似乎是:
protected voID Page_Load(object sender,EventArgs e){ var versionNumber = Assembly.GetExecutingAssembly().Getname().Version.ToString(); this.myApp.source += "?" + versionNumber;} 但是,我没有得到this.myApp部分.那是什么样的对象?我很抱歉重新开放这个,但我希望人们会发布完整的解决方案.
谢谢
解决方法 您所看到的是基于asp:Silverlight Web服务器控件的代码,但该控件已从Silverlight 3开始停止.现在我们要么直接使用object标签,要么敲掉我们自己的服务器控件来呈现我们对object标签的偏好.
作为对象标签,它看起来像这样: –
<form ID="form1" runat="server" ><div ID="silverlightControlHost"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" wIDth="100%" height="100%"> <param ID="xapSource" runat="server" name="source" value="ClIEntBin/SilverlightApplication1.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="4.0.50303.0" /> <param name="autoUpgrade" value="true" /> <param name="initParams" ID="initParams" runat="server" /> <a href="http://go.microsoft.com/fwlink/?linkID=149156&v=4.0.50303.0" > <img src="http://go.microsoft.com/fwlink/?linkID=161376" alt="Get Microsoft Silverlight" /> </a> </object><iframe ID="_sl_historyFrame" ></iframe></div></form>
注意源参数上的ID和runat =“server”.有了这个,页面加载可能看起来像这样: –
protected voID Page_Load(object sender,EventArgs e){ string xapPhysicalPath = Server.MapPath(xapSource.Attributes["value"]); DateTime lastWrite = System.IO.file.GetLastWriteTime(xapPhysicalPath); xapSource.Attributes["value"] = xapSource.Attributes["value"] + "?" + lastWrite.ToString("yyyyMMddThh:mm:ss");} 这将确保当xap发生变化时,用于源的url总是会改变.您遇到的原始代码存在缺陷,因为xap仍然可以在没有完全未连接的程序集版本号更改的情况下进行更改.
总结以上是内存溢出为你收集整理的如何强制重新下载Silverlight XAP文件全部内容,希望文章能够帮你解决如何强制重新下载Silverlight XAP文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)