为什么ASP.NET/Visual Studio Web开发服务器这么慢?

Max*_*sky 31 c# asp.net debugging asp.net-mvc visual-studio

编译 -  XKCD(xkcd)

我知道现在的编译速度比以前快得多.然而,对我来说,使用Visual Studio Web开发服务器编译,尤其是运行/调试ASP.NET项目似乎非常慢.

从去年夏天开始,我一直在努力研究ASP.NET MVC项目.当然,调试它们的最佳方法是使用Visual Studio附带的Web服务器.这样做时,加载时间非常慢.Chrome开发工具通常会报告加载我的一个页面有3 分钟的等待时间,然后加载时间很短.

我见过 两个问题,但是没有用.虽然我在Chrome中进行了大部分调试工作,但在IE中也是如此.

以前有其他人有这个问题吗?如果是这样,任何提示?

另外,我怀疑问题在于机器的速度.这台计算机运行的Windows 7和Visual Studio 2010非常快,所以我不明白为什么ASP.NET调试应该这么慢.


更新:在下面的回答中,Jon Skeet建议尝试确定问题是由环境还是由代码本身引起的.我创建了一个全新的MVC项目并运行它.第一次测试似乎要快得多.然而,经过几次测试之后,可以肯定地说第一次测试是异常的 - 通常,它需要我的大项目(2 - 3分钟).因此,这是环境问题.在此先感谢您的帮助!


更新#2:我更新了这个问题已经有一段时间了.以下是自上次更新以来我收集的一些细节:

  • 在我的两台开发机器上都出现了这种延迟,包括运行Windows 7和Visual Studio 2010
  • 我的所有MVC2和MVC3项目都发生了这种延迟(但我还没有尝试过普通的ASP.NET)
  • 普通/ vanilla MVC项目与具有大代码库的MVC项目经历相同的延迟
  • 禁用IntelliTrace没有帮助
  • 禁用IPv6没有帮助

我还没有找到解决这个问题的方法,所以我一直在等待很长时间.有谁知道如何解决这个问题?

Jon*_*eet 8

没有理由为什么它需要3分钟才能开始调试,除非你有一些非常奇怪的事情发生.

我建议你启动调试器,尝试导航到一个页面,然后在加载时闯入调试器.看看你在哪里浪费时间.也许你在启动时打电话给失败,但需要几分钟才能完成.

我从来没有经历过你所描述的任何事情,这表明它在你的环境你的代码中 - 如果它是一个通常很快的计算机,那表明它在代码中的某个地方.

如果您创建一个全新的MVC项目并进行调试,需要很长时间吗?

您可能还想在开始调试时运行Wireshark - 看看您的应用程序中的某些内容是否在尝试获取某些描述的网络资源而您没有意识到这一点.