Я расширяю свое консольное приложение .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?