【问题标题】:.NET core 3.1 - Angular 9 - The Angular CLI process did not start listening for requests within the timeout period of 0 seconds.NET core 3.1 - Angular 9 - Angular CLI 进程未在 0 秒的超时时间内开始侦听请求
【发布时间】:2020-09-14 06:39:48
【问题描述】:

[小心这个问题已经被问过,但没有任何建议似乎有效,而且在我的情况下超时为 0 ]

问题:

我的计算机上无法运行 .NET 核心/角度应用程序

它可以在家里工作(Win 7,VS 2019 社区),但不能在我的工作电脑上(Win10,VS 2019 pro)

Chrome/FFox 继续加载索引页面,然后我得到一个超时

错误:

Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware: Error: An unhandled exception has occurred while executing the request.

System.TimeoutException: The Angular CLI process did not start listening for requests within the timeout period of 0 seconds. Check the log output for error information.
   at Microsoft.AspNetCore.SpaServices.Extensions.Util.TaskTimeoutExtensions.WithTimeout[T](Task`1 task, TimeSpan timeoutDelay, String message)
   at Microsoft.AspNetCore.SpaServices.Extensions.Proxy.SpaProxy.PerformProxyRequest(HttpContext context, HttpClient httpClient, Task`1 baseUriTask, CancellationToken applicationStoppingToken, Boolean proxy404s)
   at Microsoft.AspNetCore.Builder.SpaProxyingExtensions.<>c__DisplayClass2_0.<<UseProxyToSpaDevelopmentServer>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

预期行为:

Angular 应用应该显示在浏览器中

我尝试了什么:

我多次更新VS

我升级了 Angular 两次(从 8.0 -> 8.2 -> 9.1.9)

ng update @angular/core@8 @angular/cli@8
ng update @angular/core@9 @angular/cli@9

我尝试添加超时

spa.Options.StartupTimeout = new TimeSpan(0, 0, 80);
spa.UseAngularCliServer(npmScript: "start");

我尝试替换 package.json 中的启动命令

"start": "echo Starting... && ng serve",

我在 angular.json 中添加了构建进度,以查看应用何时可用

"browserTarget": "WebApplication1:build",
"progress": true

我看到 IISExpress 在端口上监听

C:\WINDOWS\system32>netstat -afo | grep 22710
  TCP    0.0.0.0:22710          ########################.net:0  LISTENING       4

我尝试在 launchSettings.json 中将端口更改为另一个

"applicationUrl": "http://localhost:8081",

我也尝试过这样做,但是端口被一些似乎无法访问的随机端口覆盖

ng serve --port 8081

我可以在命令行上运行 Angular 应用程序

  • 使用 ng serve ,显示 Angular 应用但没有后端服务

  • 使用 dotnet run,我遇到了同样的超时问题

总体:

.NET 核心框架似乎无法以某种方式联系 angular cli

知道我可以检查或更改什么来完成这项工作吗?

感谢您花时间在这个上

【问题讨论】:

标签: c# angular asp.net-core


【解决方案1】:

增加启动超时 在startup.cs上

 app.UseSpa(spa =>
    {
        
        spa.Options.SourcePath = "ClientApp";
        spa.Options.StartupTimeout = new TimeSpan(0, 5, 0);
        if (env.IsDevelopment())
        {
            
            spa.UseAngularCliServer(npmScript: "start");
        }
    });

在 angular.json 上

   "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "options": {
        "browserTarget": "xxxx:build",
        "progress": true
      },

为我工作。

【讨论】:

    【解决方案2】:

    这项工作为我添加到 startup.cs>>> 配置方法。

       app.UseSpa(spa =>
            {
                
                spa.Options.SourcePath = "ClientApp";
    
                if (env.IsDevelopment())
                {
                    spa.Options.StartupTimeout = new TimeSpan(0, 1, 80);
                    spa.UseAngularCliServer(npmScript: "start");
                }
            });
    

    【讨论】:

      【解决方案3】:

      我也遇到了同样的问题,但尝试了一些建议的解决方法却徒劳无功。 当应用程序超时时,尝试刷新浏览器,它将重新加载并显示。

      【讨论】:

        猜你喜欢
        • 2020-11-22
        • 1970-01-01
        • 2019-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多