惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
博客园 - Franky
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Vercel News
Vercel News
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
H
Help Net Security
月光博客
月光博客
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
宝玉的分享
宝玉的分享
P
Proofpoint News Feed
GbyAI
GbyAI
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - xiaosonl

学习手札#3 NHibernate缓存 产品的简单性 关于过度设计的思考(上) 让ASP.NET MVC的Controller输出不同类型数据 学习手札#2 故事点和小时数的思考 学习笔记#1 键值对数据库 SQLite数据迁移 探讨一种在Silverlight不普及情况下的部署策略 有用的文档 探讨一种Silverlight的异步编程模式 代码的注释 下半年要看完消化的技术类书籍 中小型企业的人员流失 谈谈Ruby On Rails和ASP.NET 工作中的系统学习 Uml中的关联与依赖关系 TDD与重构设计 C#中使用位运算来实现权限管理 Silverlight中JavaSciprt无法访问托管类抽象成员的解决方法
Silverlight产品布署策略
xiaosonl · 2010-04-09 · via 博客园 - xiaosonl

2010-04-09 11:39  xiaosonl  阅读(531)  评论()    收藏  举报

Silverlight产品在布署时,存在以下两个问题:

一. Silverlight运行时的装机量不足

Silverlight有个很尴尬的局面,由于Silverlight的装机量在国内不高,导致虽然是B/S产品,却几乎都要让用户使用前安装一个大几M的运行时,造成了用户的抵触心理。

解决方案

既然没有B/S的优势,就干脆当C/S产品布署。因为Silverlight支持本地布署,原理就是将XAP文件复制到指定目录,再创建一个快捷方式来运行这个XAP文件即可(具体步骤请自行Google),这步是可以程序实现的。所以可以自己开发一个安装包,安装时做两件事:

1)安装Silverlight运行时。

2)布署XAP文件,并生成调用快捷方式。

同时在产品下载页中,我们可以先检测用户是否有安装Silverlight运行时,如果有则提示可以直接在网页中运行。

这样用户更容易接受,而且还把劣势反变成了一个亮点。

二. XAP文件太大影响加载体验

如果XAP太大也有很大的问题:

1)影响首次加载体验

2)互联网产品更新频繁,一旦更新就导致XAP文件缓存失效,需要重新下载

解决方案

这是个纯技术问题,网络上有不少解决方案,最简单的一种做法,就是利用Siverlight自身的Reduce XAP size by using application library caching来实现分包下载,把首次不需要加载的程序集和频率更新的程序集做分包下载,其余比较稳定的程序集(如第三方控件等)就还是打包在XAP文件中,如此就可以较好的解决这个问题。

另外一个注意点是,生成XAP的那个程序集是不能被分包下载的,所以最好是另外建一个新的空项目来生成XAP。

三. 鱼翅熊掌不可兼得

杯具的是,上面两个问题的解决方案,貌似是不可以同时使用的。一旦设置了Reduce XAP size by using application library caching,好像就不能做本地布署,不过也没实验过,哪位朋友有兴趣接着研究的话,到时也请把成果告之一下。