社区编辑申请
注册/登录
Silverlight程序集缓存巧妙设置 优化用户体验
开发 前端
  Silverlight中的程序集缓存可以将一些独立的程序集放在XAP包外边并可以缓存在客户端的浏览器中,这样就可以减少程序启动时下载XAP包的时间。

  Silverlight中的程序集缓存可以将一些独立的程序集放在XAP包外边并可以缓存在客户端的浏览器中,这样就可以减少程序启动时下载XAP包的时间。默认情况下Silverlight并没有开启程序集缓存,因此需要自己动手开启。

  右键打开项目的属性,并在通过使用应用程库缓存较小XAP大小选项打钩,如图:

 silverlight

  在没选择此项之前编译项目看一下XAP中的DLL,如图:

 silverlight

  重新编译项目,选择显示所有文件然后打开Bin\Debug目录,会看到每一个缓存程序集都有自己的zip文件包。比如,如果使用了System.Windows.Controls.dll,会看到一个System.Windows.Controls.zip的文件,如图:

 silverlight

  这个ZIP包就包含了System.Windows.Controls.dll,如图:

 silverlight

  而原来的XAP包将不在存在此DLL,如图:

 silverlight

  如果使用的是ASP.NET作为测试网站,Visual Studio将会把XAP包和所有的缓存程序集一并拷入ClientBin目录下,如图:

 silverlight

  这是没有使用缓存程序集前的ClientBin目录下的内容,如图:

 silverlight

  使用程序集缓存在***次打开程序时并没有多大的性能改善,因为它还是需要XAP包和其他的ZIP内容一块下载下来。但在用户在第二次打开程序时,因为这些独立的程序集已经被缓存到客户端不用重新下载,这样就提高了用户的访问速度。

  使用技巧:

  1.缓存的程序集和浏览器的缓存有效期相同。如果用户手动清除了缓存,程序集缓存也将同样被清除掉。

  2.用户每次运行程序时,程序都会自动检查程序集是否有***的版本。如果有,则下载并替换原来缓存的程序集。

  3.如果一个程序将程序集下载并缓存在浏览器中,其它使用缓存程序集的程序也可以使用。

  4.程序集缓存在体积大,使用频繁并且不经常改变的程序集上优势会更加明显。对于那些体积小,程序在启动时下载花费时间少的程序集,尽量避免使用这种方法,因为这样在程序部署时会带来麻烦(程序集缓存后会产生多个ZIP包,部署时需要把所有的文件都放在站点下)。

  5.自定义程序集不支持程序集缓存,比如自己创建的某个类库。

【编辑推荐】

  1. 如何部署Silverlight及Web Service
  2. Silverlight开发的一些***实践分享
  3. Silverlight开发的15个***实践
责任编辑:陈贻新 来源: JerryT的博客
相关推荐

2009-12-31 15:53:28

SilverLight

2009-12-31 15:21:48

Silverlight

2009-12-31 15:05:00

Silverlight

2010-01-04 15:21:37

Silverlight

2010-01-04 16:17:50

Silverlight

2009-12-30 17:19:09

Silverlight

2009-12-29 16:21:46

silverlight

2009-12-30 16:48:52

Silverlight

2009-12-30 13:51:43

Silverlight

2010-01-04 14:35:55

Silverlight

2009-12-30 18:02:32

Silverlight

2010-01-04 14:49:30

Silverlight

2009-12-31 10:07:08

Silverlight

2020-06-11 13:03:04

2009-12-31 15:01:07

Silverlight

2010-01-04 14:26:54

Silverlight

2009-12-31 10:15:12

Silverlight

2009-12-29 17:41:29

Silverlight

2010-01-04 10:17:16

Silverlight

2009-12-31 15:36:13

SilverLight

同话题下的热门内容

如何创建一个无代码的自助客户聊天机器人Java 服务 Docker 容器化优秀实践程序员不得不知道的 API 接口常识如何提高 TypeScript 的代码质量?聊聊 13 种锁的实现方式11个 ES2022(ES13)中惊人的 JavaScript 新特性使用 Vite 和 TypeScript 带你从零打造一个属于自己的 Vue3 组件库Hooks时代,如何写出高质量的react和vue组件?

编辑推荐

太厉害了,终于有人能把TCP/IP协议讲的明明白白了!牛人5次面试腾讯不成功的经验HBase原理–所有Region切分的细节都在这里了Javascript如何监听页面刷新和关闭事件如何搭建一个HTTPS服务端
我收藏的内容
点赞
收藏

51CTO技术栈公众号