对于第一个请求,IIS Express localhost加载速度非常慢

Ahm*_*eed 9 asp.net iis asp.net-mvc iis-express visual-studio-2015

请在下面查看我在尝试重复之前尝试过的事项列表.


问题:

  • 我创建了一个全新的ASP.NET MVC应用程序,我构建应用程序并运行它 - >页面需要20-30秒才能加载.
  • 每次我重建应用程序然后尝试加载页面时,即使我在上一次构建之后立即执行此操作也需要20-30秒(即,不是空闲超时问题,我猜?).

从昨天开始,我一直在努力解决这个问题,我读了所有关于此事的文章/文章,没有运气.虽然,我不得不承认我是ASP.NET和Web开发的新手,并且不熟悉IIS配置,所以我可能会错过一些东西.

我试过的东西:

  • 禁用防病毒和防火墙.

  • 通过注释::1 localhosthosts文件中的行来禁用IPv6 .我的hosts文件如下所示:

    127.0.0.1       localhost
    # ::1             localhost
    
    Run Code Online (Sandbox Code Playgroud)
  • 试过不同的浏览器.

  • 更改了应用程序URL的端口.

  • 将应用程序URL更改为localhost:port,127.0.0.1:port但是当我这样做时,我得到:

    错误请求 - 无效的主机名

  • 卸载并重新安装IIS Express(尝试了多个版本:7.5,8.0和10.0).

  • 尝试安装"应用程序开发功能"下Internet Information Services\World Wide Web Services.

  • 启动VS安装程序并运行修复.

环境信息:

  • Windows 7 x64.
  • Visual Studio 2015.
  • .NET 4.5.2.
  • IIS当前启用的功能:我正在使用IIS Express,所以我不确定这是否相关.

IIS启用的功能

知道什么可能导致这个问题吗?


更新:

我刚尝试使用Jexus Manager.从此处显示的.sln文件加载配置,启动网站并尝试以下方案:

  • 重新启动后浏览网站(Jexus Manager中的两个操作) - > 15-20秒.
  • 在VS中重建解决方案后浏览网站(使用Jexus) - > 30+秒.

Dip*_*hah 6

当您第一次启动Asp.Net MVC应用程序时会发生很多事情,因此我无法准确指出可能导致瓶颈的一件事,但请尝试以下建议,这些建议可能会帮助您缩短Web应用程序的启动时间:

  1. 始终在发布模式下从Visual Studio运行您的Web应用程序(我知道您知道它,但仍然需要它)
  2. 检查你的web.config文件,确保System.Web\compilationdebug=false
  3. 检查文件中的Application_Start方法Global.asax.cs以删除不必要的调用
  4. 默认情况下,Razor视图是在运行时编译的,因此如果您在运行时未在视图中进行任何修改,请确保预先编译剃刀视图,如果您可以使用RazorGenerator编译视图,则更好.
  5. 例如,使用分析器,Glimpse来描述您的应用程序.

我希望这会在启动时给你的应用程序带来一些提升.