Ядро ASP.net может работать на произвольном количестве портов, иногда приложение может запускаться через командную строку, получая переданный порт в качестве параметра, иногда в докере оно работает на 80
, если указан профиль Released
, как мы можемопределить программно, какой порт на самом деле работает asp.net?
Предлагаемый ответ не является ответом, потому что для этого требуется доступ к контексту, и, скажем, на Startup
Мне нужно получить доступ к этому значению?
launchSettings.json
"Customer": {
"commandName": "Project",
"launchBrowser": false,
"applicationUrl": "https://localhost:5007;http://localhost:5006",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
}
, например, в следующем коде
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Service>();
или в любом месте во время процесса запуска системы.