use*_*455 2 c# asp.net-core asp.net-core-webapi
我有一个带有 API 的标准 Net core Web 应用程序。我正在尝试实施健康检查,但希望它在不同的端口上运行。
在配置中:
app.UseHealthChecks("/health", 8000);
Run Code Online (Sandbox Code Playgroud)
在配置服务中
services.AddHealthChecks()
Run Code Online (Sandbox Code Playgroud)
默认情况下,可通过以下方式访问 api: https://localhost:44322/api/values
然后我希望可以通过以下方式访问健康检查:https://localhost:8000/health
如果我移除端口,健康状况会很好。我是否需要一些其他配置来将应用程序设置为在不同端口上运行?
根据要求,我正在创建一个答案,以便未来的读者可以从中受益。
最初的问题是因为您没有8000在应用程序中注册健康检查端口。有两种方法可以做到这一点。
通过设置环境变量配置提供程序launchSettings.json拾取的端口
或者正如我在评论中建议的那样,直接调用UseUrls并Program.cs指定 HealthCheck 端口以及您的应用程序的端口。像这样的东西:
return new WebHostBuilder()
.UseConfiguration(config)
.UseUrls("http://localhost:5000/;http://localhost:8000")
.UseKestrel()
.UseStartup(startupType)
.Build();
Run Code Online (Sandbox Code Playgroud)
你的普通应用程序端口在哪里5000,8000健康检查端口在哪里。
然后Configure在里面Startup.cs直接使用端口:
app.UseHealthChecks("/health", port: 8000);
Run Code Online (Sandbox Code Playgroud)
您可以在官方文档中找到所有这些内容和更多内容:ASP.NET Core 中的运行状况检查 - 按端口过滤
| 归档时间: |
|
| 查看次数: |
6196 次 |
| 最近记录: |