zoukankan      html  css  js  c++  java
  • Silverligh“.NET研究”t程序集缓存巧妙设置 优化用户体验 狼人:

      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目录下的内容,如图:

    <a上海闵行企业网站设计与制作" silverlight" width="254" height="40" />

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

      使用技巧:

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

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

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

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

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

  • 相关阅读:
    C#秘密武器之表达式树
    C#秘密武器之特性
    [转]拷贝构造函数详解
    [转]STL 容器一些底层机制
    C++ Qt多线程 TcpSocket服务器实例
    QByteArray储存二进制数据(包括结构体,自定义QT对象)
    [转]浅谈 C++ 中的 new/delete 和 new[]/delete[]
    [转]QList内存释放
    Subscribe的第四个参数用法
    ROS多线程订阅消息
  • 原文地址:https://www.cnblogs.com/waw/p/2213572.html
Copyright © 2011-2022 走看看