arcgis开发笔记[silverlight提高访问速度,减小XAP]

用户打开同一SilverLight站点时,由于每次都要重新加载SilverLight应用程序包(.xap文件),因此会大大的降低用户体验。因此微软在SilverLight 3.0版本中提供了应用程序集缓存(Application Library Caching),可以解决这一缺陷。
  应用程序集缓包括两个部分:
    1、SilverLight本身的程序集缓存;
    2、用户自定义程序集缓存。

第一种方式MSDN已经提到,只要在IDE设置一下即可

第二种方式操作时容易出错,具体例子如下:

假如项目引用的是库文件,如c:\project\ Microsoft.Windows.Controls.dll,那就在c:\project\ 目录下[不能在silverlight工程的bin\debug下]建立Microsoft.Windows.Controls.extmap.xml,具体内容参考如下:

  <?xml version="1.0"?>
  <manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <assembly>
    <name>Microsoft.Windows.Controls</name>
    <version>2.0.21027.1502</version>
    <publickeytoken>31bf3856ad364e35</publickeytoken>
    <relpath>Microsoft.Windows.Controls.dll</relpath>
    <extension downloadUri="Microsoft.Windows.Controls.zip" />
   </assembly>
  </manifest>

假如项目引用的是依赖的库代码工程,如c:\project\demoLib(库必须强名),在demoLib工程中加一个内容内容demoLib.extmap.xml(这个名字和库输出的dll一致即可),然后选择输出到执行目录, demoLib.extmap.xml的内容和上面类似

多个库可以输出到一个压缩包中,只要各个组件的<extension downloadUri=填写一样的压缩名字就行

编译项目后,可以在ClientBin下看到以上设置的zip文件

可以使用Fiddle或HttpWatch查看请求的情况,可以看到,以上的zip文件都会缓存起来,xap文件显著减小,以后只要更新xap文件就行了

posted @   2012  阅读(1171)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示