asp.net-core - 在 .NET Core Generic Host 中使用健康检查中间件

标签 asp.net-core .net-core asp.net-core-2.2 asp.net-core-middleware .net-core-2.2

使用 .NET Core Generic Host对于处理异步消息的应用程序。

我们使用通用主机而不是 .NET Core WebHost 的原因是因为我的一位同事看到过几次 MassTransit(我们正在使用的轻量级服务总线框架)作为 .NET Core 的一部分运行在收到 SIGTERM 信号后,WebHost 并不总是在 Linux 上正常关闭 - 我们不得不使用 SIGKILL 强行终止进程。

此应用程序将在 Kubernetes 上运行,我们希望使用 K8s 活跃度探测器实现自愈架构。在其他使用 WebHost 的 .NET Core 应用程序中,我们使用了 Health Checks .NET Core 2.2 中引入的,但我不知道如何在通用主机中使用这样的中间件。

在 WebHost 中,我可以按如下方式配置中间件:

app.UseHealthChecks(appSettings.HealthChecksPath ?? "/health");

如果使用 .NET Core 通用主机,我将如何做这件事...

亲切的问候。

最佳答案

通过使用基于 HttpListener 的健康检查服务器解决了这个问题 - 很高兴被证明是错误的,但 AFAIK、Kestrel/ASP.NET Core 中间件不适合 .NET 2.2 和通用主机。

here对于代码。

关于asp.net-core - 在 .NET Core Generic Host 中使用健康检查中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57105621/

相关文章:

c# - asp.net core 2 从本地磁盘驱动器加载和显示图像

asp.net-core - 如何使用 Identity 在 ApplicationDbContext 中获取当前登录的用户 ID?

c# - 针对 .net core RC2 和 .net4.6.1 时出错

c# - 执行 DbCommand 失败 - 引入 FOREIGN KEY 约束

c# - .NET CORE 3 Windows 服务的基本路径返回 C :\Windows\System32, 但实际文件夹是 D:\MyCustomService

entity-framework-core - 如何将 View 和存储过程从 SQL Server 搭建到 ASP.NET Core 2.2 项目中?

asp.net-core-2.2 - IIS 将 HTTP 重定向到 HTTPS,将 WWW 重定向到非 WWW

c# - 为什么按类型添加 AutoValidateAntiForgeryTokenAttribute 不起作用?

c# - ASP.NET Core 托管的 Blazor 模板中的授权问题

c# - 从另一个 Controller 调用 Controller 时的依赖注入(inject)