【发布时间】:2010-11-24 19:16:02
【问题描述】:
我开发了一个 .net 3.5 c# web 应用程序,并希望对其进行一些性能改进。该应用程序有大量的javascript文件和css文件。
以下是我正在考虑实施的一些技术:
- 合并javascript文件
- 合并css文件
- 最小化文件
- 将 css 文件中的任何图像更改为 是 base64 编码的字符串或精灵
以上是我想要实现的一些示例,但我的问题是关于我如何才能做到这一点。
我正在考虑创建一个 MSBuild 任务来执行此操作。但我的并发症如下。
我有大量包含大量 javascript 文件的页面。我想要的是当应用程序处于调试模式时,使用单个文件,如果处于发布模式,则使用组合文件。因此,复杂性的第一部分将是运行时间决策。
下一个问题是让构建任务知道要组合哪些文件。无论如何,构建任务是否可以查看每个页面上使用的 javascript 并在运行时基于此组合文件?
我以 javascript 为例,但同样适用于 css。
我遇到的另一个问题是一些用户控件也有 javascript,因此它们也将被考虑在内。不过,如果这不能实现,我不太担心。
最后一步是在运行时输出任何内部版本号或带有 javascript/css 文件的某个唯一编号作为参数,以使新版本中的缓存无效。
我知道我的问题很粗略,但如果可能的话,我只是在寻找一些建议。
谢谢。
【问题讨论】:
标签: .net visual-studio performance optimization