C # Web API не открывает порт на Kestrel - PullRequest
0 голосов
/ 11 июля 2019

Я расширяю свое консольное приложение .NET Core 2.2 с помощью конечной точки API .Это приложение работает на пустельге (как услуга). порт должен быть 5003 .

Консольное приложение выполняет свою работу.Но я не могу достичь конечной точки .Когда я звоню в Putty: sudo netstat -tulpn |grep 5003 чем я ничего не получу взамен.Два других apis, которые я нахожу при вызове sudo netstat -tulpn

Proto Recv-Q Send-Q Local Address           Foreign Address         State   PID/Program name
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      29745/dotnet
tcp        0      0 0.0.0.0:5001            0.0.0.0:*               LISTEN      7681/dotnet

На локальном хосте я могу получить доступ к конечной точке, используя swagger или прямо по URL: port / myApiEndpoint.

В Program.cs WebHostBuilder я регистрирую Kestrel и порт:

public static IWebHostBuilder BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
       .UseStartup<Startup>()
       .UseApplicationInsights()
       .UseUrls("http://0.0.0.0:5003")
       .UseKestrel()
       .UseNLog();

А на launchSettings.json рассказываю, как обращаться с приложением на kestrel:

{
"profiles": {
  "DataPicker.Cli": {
    "commandName": "Project",
    "launchBrowser": true,
    "environmentVariables": {
      "Key": "Value",
      "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "applicationUrl": "http://localhost:5003/"
  },
  "CZKestrel": {
    "commandName": "Project",
    "launchBrowser": true,
    "environmentVariables": {
      "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "applicationUrl": "http://localhost:5003/"
    }
  }
}

Что я мог попробовать, чего не хватает, что мое приложение открывает порт 5003 на kestrel, и я могу достичь своей конечной точки API?

...