C# Net core Web应用程序中不同端口的运行状况检查
我有一个带API的标准Net core web应用程序。 我正在尝试实现healthcheck,但希望它在不同的端口上运行 在配置中:C# Net core Web应用程序中不同端口的运行状况检查,c#,asp.net-core,asp.net-core-webapi,C#,Asp.net Core,Asp.net Core Webapi,我有一个带API的标准Net core web应用程序。 我正在尝试实现healthcheck,但希望它在不同的端口上运行 在配置中: app.UseHealthChecks("/health", 8000); 在配置服务中 services.AddHealthChecks() 默认情况下,可以通过以下方式访问api: 然后我希望通过以下方式访问healthcheck: 如果我拆下端口,healh工作正常。我是否需要一些其他配置来设置应用程序在不同端口上运行?根据要求,我正在创建一个答案,
app.UseHealthChecks("/health", 8000);
在配置服务中
services.AddHealthChecks()
默认情况下,可以通过以下方式访问api:
然后我希望通过以下方式访问healthcheck:
如果我拆下端口,healh工作正常。我是否需要一些其他配置来设置应用程序在不同端口上运行?根据要求,我正在创建一个答案,以便将来的读者可以从中受益 最初的问题是因为您没有在应用程序中注册健康检查端口
8000
。有两种方法可以做到这一点
launchSettings.json
中设置端口,该端口由Program.cs
中调用UseUrls
,直接在那里指定HealthCheck端口,以及应用程序的端口。大概是这样的:5000
是您的正常应用程序端口,8000
是HealthCheck端口
然后在Configure
中的Startup.cs
中直接使用端口:
app.UseHealthChecks("/health", port: 8000);
您可以在官方文档中找到所有这些和更多内容:端口
8000
必须在应用程序的侦听端口中注册。您可以在程序.cs
的下使用URL(“http://localhost:5000/;http://localhost:8000/)
。请参见此处:,或者在launchSettings.json
@jpgrassi中执行此操作。谢谢如果你把它作为一个答案,我可以标记为批准!
app.UseHealthChecks("/health", port: 8000);