.NET core 3.1 - Angular 9 - Angular CLI 进程没有在 0 秒的超时时间内开始侦听请求

use*_*181 5 c# asp.net-core angular

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

问题:

我无法在我的计算机上运行 .NET core/angular 应用程序

它可以在家里(Win 7、VS 2019 社区)运行,但不能在我的工作电脑上运行(Win10、VS 2019 专业版)

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)
Run Code Online (Sandbox Code Playgroud)

预期行为:

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
Run Code Online (Sandbox Code Playgroud)

我尝试添加超时

spa.Options.StartupTimeout = new TimeSpan(0, 0, 80);
spa.UseAngularCliServer(npmScript: "start");
Run Code Online (Sandbox Code Playgroud)

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

"start": "echo Starting... && ng serve",
Run Code Online (Sandbox Code Playgroud)

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

"browserTarget": "WebApplication1:build",
"progress": true
Run Code Online (Sandbox Code Playgroud)

我看到 IISExpress 正在监听端口

C:\WINDOWS\system32>netstat -afo | grep 22710
  TCP    0.0.0.0:22710          ########################.net:0  LISTENING       4
Run Code Online (Sandbox Code Playgroud)

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

"applicationUrl": "http://localhost:8081",
Run Code Online (Sandbox Code Playgroud)

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

ng serve --port 8081
Run Code Online (Sandbox Code Playgroud)

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

  • 使用ng serve,angular 应用程序出现但没有后端服务

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

总体:

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

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

谢谢你花在这个上的时间

小智 1

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