Я недавно начал внедрять .NET Core HealthChecks в проект Web API.Порт, который Kestrel должен прослушивать, в настоящее время настроен службой Linux, которая запускает приложение (поэтому он передается в класс Startup с помощью параметра командной строки --server.urls), то есть
ExecStart=/usr/share/dotnet/dotnet /api/dev/MyApi.Web.dll --server.urls http://0.0.0.0:5001
Я написал проверку работоспособности, которая проверяет различные конечные точки, которые предоставляет API, и гарантирует, что они возвращают результат HTTP 200 OK.
Мне нужно иметь доступ к порту, который прослушивает kestrelтак что я могу запускать веб-запросы к каждой конечной точке, т.е. http://localhost:{port}/endpoint
.Кто-нибудь знает способ достижения этого или мне лучше просто сохранить порт, который Kestrel должен прослушивать в appsettings.json
, и получить к нему доступ через IConfiguration
?