silverlight自定义升级路径
来源:互联网 发布:腾讯股票分红 知乎 编辑:程序博客网 时间:2024/06/05 21:08
vs自动生成Silverlight加载页面,安装和升级都会自动连接到微软网站上下载更新。
但一些企业级应用中,客户端不能访问外网,就导致Silverlight技术应用有缺陷。
一般的解决方案是,将silverlight安装程序上传到服务器上,在Html中添加该地址,代码如下:
<form id="form1" runat="server" style="height:100%"> <div id="silverlightControlHost"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/Map.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://localhost/Silverlight.exe" style="text-decoration:none"> <img src="http://localhost/SLMedallion_CHS.png" alt="获取 Microsoft Silverlight" style="border-style:none"/> </a> </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> </form>
此方案对于没有安装过的客户端有效,但如果客户端已经安装过Silverlight,而开发的Silverlight版本较高,即minRuntimeVersion比客户端的版本高,则此时客户端仍会自动连接到微软网站去升级。
最好的解决方案应该是使用silverlight.js去加载Silverlight,代码如下:
<script type="text/javascript" src="Silverlight.js"></script> <script type="text/javascript"> window.onload = function() { silverlightControlHost.innerHTML = embedSilverlight(null, "sl", ""); } function embedSilverlight(parentElement, pluginId, userContext) { var getSilverlightMethodCall = "http://localhost/Silverlight.exe" var installImageUrl = "http://localhost/SLMedallion_CHS.png"; var imageAltText = "Get Microsoft Silverlight"; var altHtml = "<a href='{1}' style='text-decoration: none;'>" + "<img src='{2}' alt='{3}' " + "style='border-style: none'/></a>"; altHtml = altHtml.replace('{1}', getSilverlightMethodCall); altHtml = altHtml.replace('{2}', installImageUrl); altHtml = altHtml.replace('{3}', imageAltText); return Silverlight.createObjectEx({ source: "ClientBin/Map.xap", id: "sl", properties: { width: "100%", height: "100%", background: "white", alt: altHtml, version: "5.0.61118.0", autoUpgrade:false }, events: { onError: onSLError, onLoad: onSLLoad },enableGPUAcceleration: false }); } function onSLLoad(plugIn, userContext, sender) { window.status += plugIn.id + " loaded into " + userContext + ". "; } function onSLError(sender, args) { // Display error message.alert(args); } </script><form id="form1" runat="server" style="height: 100%"> <div id="silverlightControlHost"></div> <iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe> </form>
要注意的是autoUpgrade要设置为false.
解决这个问题搞了好久,希望对你有用。
- silverlight自定义升级路径
- 实现自定义Silverlight版本检测和自定义升级Silverlight运行时方法
- 【Node.js-2】自定义模块以及引用、自定义模块存放路径、发布升级自定义的模块
- Silverlight 图片路径问题
- Silverlight中的资源路径
- Silverlight获取Web路径
- Silverlight 图片路径问题
- Silverlight 2.5D RPG游戏技巧与特效处理:(二十一)自定义路径动画
- Silverlight 2.5D RPG游戏技巧与特效处理:自定义路径动画
- silverlight beta2自定义字体
- Silverlight 自定义初始屏幕
- Silverlight 控件自定义样式
- silverlight 自定义转换器
- Silverlight 自定义 BusyIndicator
- 自定义silverlight控件
- 自定义silverlight控件
- Silverlight 自定义Pager
- silverlight 自定义表格
- Java基础之网络编程
- JAVA的StringBuffer类和String比较
- ZOJ 2520 Amicable Pairs(打表)
- java反射技术
- 杭电2044
- silverlight自定义升级路径
- Duplicate entry '0' for key 'PRIMARY'.
- WPF里的DependencyProperty(1)
- spring 调用 membase client
- 改变ABPeoplePickerNavigationController的UINavigationBar 颜色
- QueryAgent打开Query对话框
- 通讯协议的开发
- opencv 常用图片操作函数备忘
- 【宽搜】【A星】八数码难题 WikiOI 1225 Astar