我最近开始通过Web API项目将.NET Core HealthChecks实施到其中。 Kestrel应该侦听的端口当前由运行该应用程序的Linux服务配置(因此,使用--server.urls命令行参数将其传递给Startup类),即
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
)的Web请求。有人知道实现此目的的方式吗?还是我最好只是将Kestrel应该监听的端口存储在appsettings.json
中,并通过IConfiguration
访问它?