注意:我完全清楚,当您编辑代码隐藏文件、App_Code、web.config 等中的任何内容时,ASP.NET 网站项目将重新编译。这个问题与此无关。这是关于同一服务器上 .NET 3.5 和 .NET 4 站点之间所用时间的惊人差异。
我们有一个问题,新的 .NET 4 网站(但不是 .NET 3.5)需要比平时更长的时间 - 多两分钟 - 重新启动或重新编译。更具体地说,在站点开始重新编译之前有很长的延迟。在此延迟期间,CPU 使用率为 0%(零)。
似乎对于通常会触发重新编译的任何更改,在编译器甚至在服务器上启动之前都会有很长的两分钟延迟。这与超时限制的持续时间可疑相同。我怀疑 .NET 4 或 IIS7 中出现了问题,并且该站点无法正常重新编译,直到达到超时,然后它会像往常一样回收应用程序池并重新编译。一旦它真正开始重新编译,CPU 就会按预期出现峰值,并且它的完成时间与我们的 .NET 3.5 站点差不多。
这不是由于站点的复杂性,因为 .NET 3.5 中几乎相同的站点不会导致延迟。它也不是特定于一个站点,因为我们部署的所有 .NET 4 网站都遇到了同样的问题。
有没有人有过使用 .NET 4 的网站在重新编译网站之前延迟几分钟的经验?