我们有几个大型解决方案,每个都有大约 40 个单独的项目(类库和嵌套网站)。完全重建全部大约需要 2 分钟。
系统的几个规格:
- 视觉工作室 2005,C#
- 主要项目是 Web 应用程序项目
- 共 40 个项目(4 个 Web 项目)
- 我们使用内部 VS 网络服务器
- 我们广泛使用用户控件,一直到包含文本框的用户控件
- 我们有几个内联 Web 项目允许我们进行部分部署
- 大约 120 个用户控件
- 大约 200.000 行代码(包括 HTML)
- 我们使用 Source Safe
我想知道的是如何减少第一次使用浏览器访问网站所需的时间。而且,我不是在谈论完全部署后 - 我是在谈论对代码、构建、刷新浏览器进行小的更改。
第一次命中,大约需要 1 分 15 秒才能恢复数据。
为了加快速度,我对 Ram 磁盘进行了一些实验,特别是更改了 web.config 中的 <compilation> 属性,将 tempDirectory 设置为我的 Ram 磁盘。这确实加快了速度。不过有趣的是,这在浏览器第一次点击时完全删除了所有 IO 访问。
备注
我们在开发过程中从不进行完整编译,只进行部分编译。例如,编译正在处理的类库,然后编译主站点,然后将二进制文件从类库复制到 bin 目录。
我知道在更改关键文件(例如 bin dir)后,asp.net 引擎需要解析所有 ascx/aspx 文件,但是,我不明白为什么只有一个库 dll需要这样做被修改。
因此,任何人都知道一种方法:对解决方案进行细分,以提供更快的首次点击或微调配置文件或其他内容中的设置。
而且,再次:我只谈论开发,而不是生产部署,因此不适用预构建编译选项。
谢谢, 鲁文