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的博客
相关推荐

2012-04-18 09:22:40

Chrome for

2015-03-21 06:11:48

透视宝云智慧

2020-04-15 16:10:51

公有云云计算度量体系

2013-11-11 15:15:38

设计用户体验

2013-12-10 13:33:20

桌面虚拟化

2010-11-29 14:14:29

Sybase用户权限

2009-12-28 00:42:20

2009-08-12 10:38:09

SilverlightOffice 2010

2009-12-31 15:28:02

Silverlight

2023-09-10 17:14:42

缓存技术系统架构设计

2010-03-18 20:19:16

2011-06-30 17:13:17

SEO用户体验

2020-12-31 11:12:09

Windows客户端花生壳

2009-12-31 15:53:28

SilverLight

2023-03-15 21:38:43

短视频服务器

2021-01-12 10:16:42

CSS 容器优化滚动

2017-01-04 16:12:23

Kano模型赫茨伯格用户需求

2013-09-23 16:28:32

LinuxUbuntuUbuntu 12.1

2016-07-14 22:41:08

点赞
收藏

51CTO技术栈公众号