我有一个带有API的标准Net核心Web应用程序。 我正在尝试实施运行状况检查,但希望它在其他端口上运行。
在“配置”中:
app.UseHealthChecks("/health", 8000);
在ConfigureServices
services.AddHealthChecks()
默认情况下,可以通过以下方式访问api: https://localhost:44322/api/values
然后,我希望可以通过以下方式访问健康检查:https://localhost:8000/health
如果我移除端口,则恢复正常。我是否需要其他配置才能将应用程序设置为在不同端口上运行?
答案 0 :(得分:2)
根据要求,我正在创建一个答案,以便将来的读者可以从中受益。
最初的问题是因为您没有在应用程序中注册运行状况检查端口8000
。有两种方法可以做到这一点。
launchSettings.json
中设置端口
或者按照我在注释中的建议,在UseUrls
中调用Program.cs
并直接在此处指定HealthCheck端口以及您的应用程序端口。像这样:
return new WebHostBuilder()
.UseConfiguration(config)
.UseUrls("http://localhost:5000/;http://localhost:8000")
.UseKestrel()
.UseStartup(startupType)
.Build();
其中5000
是您的常规App端口,而8000
是HealthCheck端口。
然后在Configure
的{{1}}内直接使用端口:
Startup.cs
您可以在官方文档中找到所有这些以及更多内容:Health checks in ASP.NET Core - Filtering by Port