(转)Silverlight 巧用文件生成时间强制客户端载入最新xap文件
这样经常会面临一个问题,客户更新xap后并未看到任何变化甚至由于我们wcf服务等相关文件的改动会让程序执行发生异常。这个原因倒是很明显--我们的xap文件被缓存了,当服务器上替换了新的xap文件时,本地并未重新从服务器上下载。这时候我们当然就要告知客户如何清理缓存等等,再碰到个电脑盲(大多情况下)更是苦不堪言。客户抱怨,项目经理哑巴吃黄连…
那么有没有一种方法可以解决上面提到的问题呢?当然,且听分解。
我们先看一段在html中签入Silverlight应用的标准代码示例
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"><param name="source" value="ClientBin/MefSample.xap"/><param name="onError" value="onSilverlightError" /><param name="background" value="white" /><param name="minRuntimeVersion" value="4.0.50826.0" /><param name="autoUpgrade" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none"><img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/></a></object>
注意下面这行,我们就要从这里下手。
<param name="source" value="ClientBin/MefSample.xap"/>
我们知道,要防止浏览器自动缓存文件,经常用的一个做法就是在要加载的文件名后面加入一个随机字符串(比如验证码的刷新),如Guid、DateTime.Now.Ticks一类。
因此我们这里的思路就是通过判断xap文件的生成时间而决定是否重新载入xap包。
最终View的全部代码如下:
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"width="100%" height="100%">@{ string xapFile = "ClientBin/MefSample.xap";string xapPath = HttpContext.Current.Server.MapPath("\\") + xapFile;DateTime xapCreatedDate = System.IO.File.GetLastWriteTime(xapPath);xapFile += "?v=" + xapCreatedDate;} <param name="source" value="@xapFile" /><param name="onError" value="onSilverlightError" /><param name="background" value="white" /><param name="minRuntimeVersion" value="4.0.50826.0" /><param name="autoUpgrade" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration: none"><img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight"style="border-style: none" /></a> </object>
注意,这里我是用ASP.NET MVC(Razor语法)承载xap,对WebForm或WebForm View同样适用,请自行更改。
转载于:https://www.cnblogs.com/allanli/archive/2011/01/07/1929722.html
(转)Silverlight 巧用文件生成时间强制客户端载入最新xap文件相关推荐
- 查看linux文件生成时间,【linux】如何查看文件的创建、修改时间
本篇博文旨在介绍Linux下查看文件时间的方法:并介绍如何使用touch指令来进行文件时间的创建以及修改 如何查看文件的时间信息 利用stat指令查看文件信息 三种时间的介绍 ATime --文件的最 ...
- linux查找文件限制时间,Linux查找命令find与文件三种时间
Linux中查找命令如下: Which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. Find 实际搜寻硬盘查询文件名称. 其中find的功能很强大 ...
- 微信文件撤回时间多长_微信中文件撤回时间延长至多久?
微信中文件撤回时间延长至3个小时.若微信版本为7.0.10及以上,可以在3个小时内操作撤回文件(Word.Excel.PPT等文档). [] 新功能:微信文档类消息的撤回时间变成了 3小时 为什么会有 ...
- php只显示指定文件类型_php强制下载指定类型的文件
当需要将文件直接下载时,可以使用如下的函数来实现. 代码: 复制代码 代码示例: function downloadFile($file){ $file_name = $file; $mime = ' ...
- 生成pfx文件需要在服务器上执行,PEM文件和private.key文件生成IIS服务器所需的pfx文件(配置SSL用)...
第一步:输入域名,点击"创建免费的SSL证书"按钮,如图 第二步:输入邮箱,点击创建,如图 创建成功后,需要进行dns验证,结果图如下: 第三步:在域名所在的云服务器上,添加域名解 ...
- matlab (.m)文件生成 windows 可执行(.exe)文件
mex -setup:设置 C 语言编译器:(如果本地安装有 visual studio 20xx 集成开发环境,则会自动选择其下的 C/C++ 编译器 ) 将运行时环境(runtime enviro ...
- c语言 获取文件修改时间,C语言中用于修改文件的存取时间的函数使用
C语言utime()函数:修改文件的存取时间和更改时间头文件: #include #include 定义函数: int utime(const char * filename, struct utim ...
- PEM文件和private.key文件生成Tomcat服务器所需的jks文件(配置SSL用)
在工作中时长会遇到配置https,我使用的是Tomcat服务器,tomcat服务器一般使用的.jks文件配置SSL加密.但是,https供应商不会直接提供.jks文件.所以,我们就需要将加密文件转换成 ...
- cmd 根据xsd文件生成webservice java客户端代码
根据xsd 转换成java 对象, jdk1.7 自带 xjc 命令,可以根据xjc 命令直接转换成 java 对象 命令格式:xjc -d dir -p packgeName -verbose xx ...
- cmd命令生成webservice_根据wsdl文件生成WebService客户端代码
有时候在项目中,一个项目可能有好几个公司在做.系统之间难免会出现互相调用接口的现象,这时候有一种办法就是使用webService.本篇文章将介绍如何将对接系统提供的WebService接口,根据对方提 ...
最新文章
- PHP大数组过滤元素、修改元素性能分析
- 《背包问题》 动态规划
- 分布式发布订阅消息系统Kafka单实例测试
- 【机器视觉】 throw算子
- 免 sudo 使用 docker
- PDFMate PDF Converter Pro
- Spring [CVE-2022-22965]漏洞处理
- 完整的WebApplication JSF EJB JPA JAAS –第1部分
- 转hdmi_苹果本轻松接大屏,毕亚兹雷电接口转HDMI/VGA转换器评测
- NeurIPS 2020 | 没有乘法的神经网络,照样起飞?
- C#.Net工作笔记005---c#中list合并去重_以及单纯合并_值类型list去重
- ISA Server 2004软件防火墙相关配置
- vue使用阿里巴巴矢量图标
- dw网页制作教程百度云盘_Dreamweaver网页制作教程
- Twaver-HTML5基础学习(13)连线(Link)连线的绑定与展开
- 台式计算机如何设置无线网络,台式电脑怎么设置无线网络
- 【DKN】(五)attention.py
- Windows10 64位 + caffe + Matlab -- cpu版本
- 画论56 恽格《南田画跋》
- Android性能优化之较精确的获取图像显示到屏幕上的时间
热门文章
- TOPcoder准备
- 隐马尔可夫模型(三): 算法分类、解决方法
- 王之泰201771010131《面向对象程序设计(java)》第四周学习总结
- 使用Python获取上市公司资讯,并进行判断利好利空消息(判断部分待更新)
- 【python】rank函数
- 未转变者服务器可作弊,未转变者作弊指令有哪些-未转变者作弊指令大全
- 老版本的linux内核中mtd test 出现 mtd_oobtest: error: verify failed at 0xXXXX 问题
- solr6.2从环境部署到与mysql整合到中文分词器到solrJ的使用
- python调用高德地图地理编码/逆地理编码
- acm会议什么档次_国际顶级会议期刊级别介绍