Silverligh“.NET研究”t程序集缓存巧妙设置 优化用户体验

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

  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.自定义程序集不支持程序集缓存,比如自己创建的某个类库。

目录
相关文章
|
9月前
|
存储 缓存
.NET 6中Startup.cs文件注入本地缓存策略与服务生命周期管理实践:AddTransient, AddScoped, AddSingleton。
记住,选择正确的服务生命周期并妥善管理它们是至关重要的,因为它们直接影响你的应用程序的性能和行为。就像一个成功的建筑工地,工具箱如果整理得当,工具选择和使用得当,工地的整体效率将会大大提高。
324 0
|
人工智能 机器人
D1net阅闻 | 谷歌DeepMind研究发现LLM新特性
D1net阅闻 | 谷歌DeepMind研究发现LLM新特性
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
881 13
|
Ubuntu 持续交付 API
如何使用 dotnet pack 打包 .NET 跨平台程序集?
`dotnet pack` 是 .NET Core 的 NuGet 包打包工具,用于将代码打包成 NuGet 包。通过命令 `dotnet pack` 可生成 `.nupkg` 文件。使用 `--include-symbols` 和 `--include-source` 选项可分别创建包含调试符号和源文件的包。默认情况下,`dotnet pack` 会先构建项目,可通过 `--no-build` 跳过构建。此外,还可以使用 `--output` 指定输出目录、`-c` 设置配置等。示例展示了创建类库项目并打包的过程。更多详情及命令选项,请参考官方文档。
966 13
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
413 2
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
365 0
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】Redisson 连接 Azure Redis出现间歇性 java.net.UnknownHostException 异常
【Azure Redis 缓存】Redisson 连接 Azure Redis出现间歇性 java.net.UnknownHostException 异常
595 1
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
1537 0
|
缓存 NoSQL Redis
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
137 0
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
534 5