如何优化大型XAP文件的加载

时间:2014-08-13 06:43:02

标签: silverlight-5.0

我们继承了银行使用的Silverlight应用程序。这是一个巨大的Silverlight应用程序,具有6.5MB大小的单个xap文件。

最近,核心银行应用程序已更新其服务,以便每天从用户计算机中删除整个浏览器缓存。

这会直接影响silverlight应用程序。我们无法负担每天下载6 MB文件的费用。从长远来看,我知道我们需要将这块巨石拆分成更小的可管理部分并动态加载它们。

我想检查是否有任何短期替代品。

  1. 我们可以让silverlight运行时将xap加载到不同的导演吗?
  2. 使应用程序Out of Browser应用程序能否为我们从xap加载xap的位置提供额外的灵活性?
  3. 任何其他可以帮助我们提供短期解决方案的建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

你的xap文件里面有什么? (将扩展名更改为.zip并检查内部是什么)

你是否在xap文件中包含图像和声音?

是否需要使用所有dll?

短期替代方案是:

  • 对应用程序进行一些清理(删除未使用的dll,图像,代码......)

  • 使用功能更强大的压缩工具重新压缩您的xap文件以节省一些空间

  • 此外,还有一些工具可以缩小"你的xap文件的大小。 (但我从未尝试过)

这是一个帮助我减少xap大小的链接:

http://www.silverlightshow.net/items/My-XAP-file-is-5-Mb-size-is-that-bad.aspx

编辑以回答您的评论:

我建议使用隔离存储。

引自http://www.silverlightshow.net/items/My-XAP-file-is-5-Mb-size-is-that-bad.aspx

使用独立存储:保留缓存XAP文件,DLL,资源和应用程序数据。这不会增强应用程序的第一次加载,但在后续下载中,您可以检查资源是否已在客户端本地存储上可用,并避免从服务器下载。需要记住三件事:由您构建时间戳机制以使缓存的信息无效,默认情况下,隔离存储的大小限制为1 Mb(根据用户请求可以增长),用户可以禁用给定应用程序上的独立存储。更多信息:有关隔离存储和缓存以及样本的基础知识。

相关链接:

http://msdn.microsoft.com/en-us/magazine/dd434650.aspx

http://timheuer.com/blog/archive/2008/09/24/silverlight-isolated-storage-caching.aspx