Не удается загрузить веб-приложение .Net Core 3.0 из CLI - PullRequest
0 голосов
/ 28 октября 2019

Проблема:

У меня есть приложение .Net Core 3.0, которое я не могу загрузить в браузер ТОЛЬКО при запуске его с помощью Mac OS X CLI , например:

$ dotnet new webapp
$ dotnet watch run
watch : Started
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile is available. Using '/Users/<user>/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /Users/<user>/Sandbox/coreapp3test

Так что на данный момент все выглядит хорошо, кроме случаев, когда я открываю URL в браузере, который я получаю:

This site cannot be reached

localhost unexpectedly closed the connection.

ОБНОВЛЕНИЕ:

Я думаю, что это что-тоделать с протоколом HTTPS. Переход к http://localhost:5000 делает перенаправление https. Таким образом, сервер фактически прослушивает ...

info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 GET http://localhost:5000/
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 9.6705ms 307

ОБНОВЛЕНИЕ 2:

Кроме того, удаление app.UseHttpsRedirection(); из Configure метода startup.cs и затем переход к http://localhost:5000 правильно отображает страницу, в то время как https://localhost:5001 по-прежнему не удается.

Я открыл заявку на GitHub для отслеживания проблемы.

Примечания:

  • Я могу запустить приложение в VS Code , поэтому среда выполнения должна быть правильно установлена ​​
  • .NET Core 2.2 приложения работают нормально с CLI -Я могу запустить их из CLI без проблем. Таким образом, он выглядит изолированным до 3,0
  • Кажется, что CLI Windows работает без проблем
  • Я также безуспешно пробовал следующее:
    • Удалениеbin/ и obj/ и восстановление / сборка заново
    • Переустановка SDK - тот же результат
    • Отключение брандмауэра (в случае блокировки соединения)
    • Генерациянесколько типов веб-проектов (например, angular, mvc и т. д.), чтобы увидеть, связано ли это с шаблоном

Информация о системе:

$ dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   3.0.100
 Commit:    04339c3a26

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.14
 OS Platform: Darwin
 RID:         osx.10.14-x64
 Base Path:   /usr/local/share/dotnet/sdk/3.0.100/

Host (useful for support):
  Version: 3.0.0
  Commit:  7d57652f33

.NET Core SDKs installed:
  2.1.300 [/usr/local/share/dotnet/sdk]
  2.1.402 [/usr/local/share/dotnet/sdk]
  2.1.505 [/usr/local/share/dotnet/sdk]
  3.0.100 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

1 Ответ

1 голос
/ 28 октября 2019

работает с кодом делает dotnet run. Похоже, что команда watch имеет бесконечный цикл, пытаясь просмотреть некоторые файлы, которые постоянно меняются. Это может быть связано, например, с параметром reloadOnChange в configurationBuilder.

configurationBuilder.AddJsonFile(
            "appsettings.json",
            optional: false,
            reloadOnChange: true) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...