繁体   English   中英

健康检查,ASP.NET Web API

[英]Health check, ASP.NET Web API

在我的工作中,我被要求在 ASP.NET Web API 2 中执行运行状况检查,该代码用 ZD7EFA19FBE7D393722FDZDA2 编写。 我已经搜索过,但所有文档都是针对 ASP.NET 核心及其实现的,有人知道如何在经典/完整 .NET 框架中实现健康检查功能吗?

我同意伊戈尔的观点。 这是他建议的具体应用(显然,还有其他方法可以做到这一点,但这是我知道如何保持清晰并尊重关注点分离的最佳方法):

  1. 创建一个新的 controller。 在本例中,我将其命名为 HealthController
  2. 向 controller 添加一个动作,并用 [HttpGet] 注释它
  3. 将逻辑放在检查外部依赖项稳定性的操作中。 例如,如果磁盘访问对您的 API 至关重要,请运行一两个测试以确保磁盘按照您的需要响应。 如果您需要能够查询数据库,请进行示例查询,并确保查询成功。 这部分是完全定制的,实际上取决于您的 API 以及它需要如何执行。
public class HealthController : ApiController
{
    [HttpGet]
    public IHttpActionResult Check()
    {
        // Add logic here to check dependencies
        if (/* successful */)
        {
            return Ok();
        }

        return InternalServerError(); // Or whatever other HTTP status code is appropriate
    }
}
  1. 让外部服务向您的端点(当前位于https://whatever.your.domain.is/Health/Check )发出 GET 请求,并在一段时间内未收到 200 OK 时报告。

我过去使用过Amazon CloudWatch ,对此我很满意。 将会有其他服务可以为您执行此操作,但我对它们没有任何经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM