gpt4 book ai didi

c# - Net 核心 Web 应用程序中不同端口的健康检查

转载 作者:行者123 更新时间:2023-12-02 19:53:11 26 4
gpt4 key购买 nike

我有一个带有 API 的标准 Net Core Web 应用程序。我正在尝试实现健康检查,但希望它在不同的端口上运行。

在配置中:

app.UseHealthChecks("/health", 8000);

在配置服务中

services.AddHealthChecks()

默认情况下,可以通过以下方式访问 api: https://localhost:44322/api/values

然后我希望可以通过以下方式访问健康检查:https://localhost:8000/health

如果我删除端口,健康状况良好。我是否需要一些其他配置来设置应用程序以在不同端口上运行?

最佳答案

应要求,我正在创建一个答案,以便 future 的读者可以从中受益。

最初的问题是因为您没有在您的应用程序中注册健康检查端口 8000。有两种方法可以做到这一点。

  1. 通过在 launchSettings.json 中设置由 Environment Variables Configuration Provider 获取的端口

  2. 或者按照我在评论中的建议,调用 Program.cs 中的 UseUrls 并直接在此处指定 HealthCheck 端口以及您的应用程序的端口。像这样:

return new WebHostBuilder()
.UseConfiguration(config)
.UseUrls("http://localhost:5000/;http://localhost:8000")
.UseKestrel()
.UseStartup(startupType)
.Build();

5000 是您的普通 App 端口,8000 是 HealthCheck 端口。

然后在 Startup.csConfigure 中直接使用端口:

app.UseHealthChecks("/health", port: 8000);

您可以在官方文档中找到所有这些以及更多内容:Health checks in ASP.NET Core - Filtering by Port

关于c# - Net 核心 Web 应用程序中不同端口的健康检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57721900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com