7

我的团队负责维护一个遗留的 ASP.NET Webforms Web 应用程序项目。

我们目前正在使用 Visual Studio 2010,该项目的目标是 .NET Framework 4.0。

该项目有超过 200 个 ASCX 控件和近 900 个 RESX 资源文件。它会生成一个包含 2000 多个文件的 Temporary ASP.NET Files 文件夹。

这些临时文件中有121个.cmdline文件,151个.compiled文件,64个.delete文件,121个.err文件(都是0字节),121个.out文件,59个.pdb文件,121个.tmp文件,和 246 个 .cs 文件。

当我们开始调试项目时,它似乎需要很长时间才能加载(大约 5 分钟左右)。

调试输出窗口显示了许多类似于以下内容的行:

'w3wp.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\project\c8633237\88f5a808\App_Web_snat3rsu.dll'

这些行出现得很慢,大约每秒一个,直到最终加载第一页。

在浏览器中加载第一页后,项目性能似乎是合理的,但到达那里似乎需要非常长的时间。

我正在寻找有关如何改善该项目的加载时间的建议。

我担心该项目存在根本性的问题需要解决,因为将其加载到调试器中需要 5 分钟似乎是不合理的。

4

1 回答 1

6

加载时间(第一次编译)与您拥有的资源文件数量有关是正常的。第一次加载它会预编译东西,所以第二次运行它会更快。我会让你尝试实现这个网站上的内容。

https://web.archive.org/web/20171230155418/http://blog.lavablast.com/post/2010/12/01/Slash-your-ASPNET-compileload-time.aspx

于 2012-10-16T17:30:17.027 回答