【问题标题】:Slow startup with IIS Express使用 IIS Express 启动缓慢
【发布时间】:2020-08-21 18:48:41
【问题描述】:

我的 MVC 应用程序和启动有问题。

每次我做出更改并且一个应用程序都需要很长时间才能启动。

我有大约 100 行 ''iisexpress.exe' (CLR v4.0.30319:'

每次运行应用程序时都必须启动 iisexpress 吗?

【问题讨论】:

标签: asp.net-mvc iis-express


【解决方案1】:

我发现禁用日志记录后有显着改善。

找到您的项目或机器的IIS config,通常位于:

  • %userprofile%\documents\iisexpress\config\applicationhost.config
  • .\.vs\config\applicationhost.config
  • VS2019:$(solutionDir)\.vs\{projectName}\config\applicationhost.config

并注释掉或删除以下两个节点(在文档某处找到)

<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />
<add name="HttpLoggingModule" lockItem="true" />

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,用 VS2010 和 VS2015 测试过。症状:VS 很快,编译,加载符号并在一秒钟内打开浏览器,但浏览器只挂了 5 到 20 分钟。我的项目很大,但我的笔记本电脑是 16GB RAM、i7 和 SSD,所以绝对不是大小问题。我尝试了这个问题的所有答案,也在这里Visual Studio debugging/loading very slow

    最后我在这里找到了解决方案https://social.msdn.microsoft.com/Forums/en-US/394f3100-bac2-4b1c-8f8c-731226b905d4/painfully-slow-starting-a-web-application-in-visual-studio?forum=visualstudiogeneral

    antivirus扫描中排除目录“C:\Windows\Microsoft.NET\Framework

    希望这会为其他人节省这么多浪费的时间:)

    【讨论】:

      【解决方案3】:

      我有类似的问题。当我运行进程监视器时,我发现我的 fusion log 在禁用 fusion log 后启用,IIS Express 加载站点没有太多延迟。

      【讨论】:

      • 非常感谢,困扰我很久了
      【解决方案4】:

      我在 Windows 10 上使用 IIS Express 10、Visual Studio 2015 Update 3 时遇到了同样的问题。我使用不同的设置和浏览器(Chrome 54、Edge 38、Opera 41)进行了一些测试。浏览器并不重要,但我发现三件事显着改变了我原来的 15 秒加载时间:

      1. 关闭 Windows Defender 4.10(从 15 秒更改为 12 秒)
      2. 关闭“编辑并继续”功能(从 12 秒更改为 6 秒)
      3. 切换回 Windows Defender 4.10(从 6 秒更改为 8 秒)
      4. 尝试在不调试的情况下运行应用程序(从 8 秒更改为 2 秒)

      所以如果你愿意放弃编辑并继续,甚至是调试,那么你可以加快这个过程。

      可以在 Visual Studio/Tools/Options/Debugging/General/Enable Edit and Continue 中关闭 Edit and Continue。

      您可以使用 Ctrl+F5 启动项目而无需调试。

      建议关闭您的 Windows Defender,但您可以尝试使用它的排除目录功能,您也可以在那里赢得几秒钟。

      【讨论】:

        【解决方案5】:

        在您更改和编译代码时,IIS Express 应继续在后台运行。然后,您可以转到 Debug -> Attach Process 并找到 iisexpress.exe 进程并附加到它。每次按 F5 的问题是 VS 会中断进程并重新启动它,这需要时间。

        【讨论】:

          【解决方案6】:

          检查以下调试选项可能会有所帮助:

          工具 > 选项 > 调试 > 常规

          • 启用"Enable Just My Code"
          • 禁用"Enable .NET Framework Source Stepping"
          • 禁用"Source Server Support"
          • 禁用"Source Link Support"
          • 禁用"Use Managed Compatibility Mode"
          • 禁用"Enable Edit And Continue"

          工具 > 选项 > 调试 > 符号

          • 禁用所有符号文件位置
          • 设置符号缓存目录
          • 选择"Load only specified modules"
          • 点击"Specify included modules"并全部禁用

          【讨论】:

            【解决方案7】:

            我在使用 Visual Studio 2017 和 IIS Express 时遇到了我的 ASP.NET MVC 应用程序启动缓慢的问题。我尝试了该线程中的几乎所有建议,但没有任何明显的应用程序启动速度。有效的一件事是在不使用 Ctrl+F5 调试的情况下启动应用程序。这将启动时间从 10-20 秒缩短到了几秒。如果浏览器窗口保持打开状态,则可以通过刷新浏览器来测试编码编辑。编辑模型或控制器需要(重新)构建项目,而无需(重新)构建项目即可反映对视图的更改。

            【讨论】:

              【解决方案8】:

              您可以利用 ViewEngines.Engines.Clear() 从 Global.asax 文件中控制它。

              protected void Application_Start()
               {
                      ViewEngines.Engines.Clear();
                      ViewEngines.Engines.Add(new RazorViewEngine());
                      AreaRegistration.RegisterAllAreas();
                      WebApiConfig.Register(GlobalConfiguration.Configuration);
                      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                      RouteConfig.RegisterRoutes(RouteTable.Routes);
                      BundleConfig.RegisterBundles(BundleTable.Bundles);
                      AuthConfig.RegisterAuth();
                }
              

              【讨论】:

                猜你喜欢
                • 2015-06-30
                • 1970-01-01
                • 2011-10-01
                • 2012-07-26
                • 1970-01-01
                • 1970-01-01
                • 2011-03-28
                • 2016-05-12
                • 2017-01-17
                相关资源
                最近更新 更多