.net core .net核心运行状况检查

.net core .net核心运行状况检查,.net-core,asp.net-core-2.0,.net Core,Asp.net Core 2.0,有关如何在ASP.net core中实现运行状况检查的信息,请参阅 我的问题是如何在非ASP.net内核上实现它 我认为很多人在docker容器中运行应用程序,并在Dockerfile中使用以下内容: HEALTHCHECK CMD curl--失败| |退出 但并非所有应用程序都是web应用程序,因此对于无web应用程序,如何监控应用程序的运行状况?对于无核心应用程序,您只需添加一个新控制器和一个get方法即可 [RoutePrefix("healthz")] public class Hea

有关如何在ASP.net core中实现运行状况检查的信息,请参阅

我的问题是如何在非ASP.net内核上实现它

我认为很多人在docker容器中运行应用程序,并在Dockerfile中使用以下内容:

HEALTHCHECK CMD curl--失败| |退出


但并非所有应用程序都是web应用程序,因此对于无web应用程序,如何监控应用程序的运行状况?

对于无核心应用程序,您只需添加一个新控制器和一个get方法即可

[RoutePrefix("healthz")]
public class HealthController : ApiController
{
    [HttpGet,Route]
    public IHttpActionResult Index()
    {
        return Ok();
    }
}
这将做同样的事情,如果您想检查任何资源(如数据库)的运行状况,那么您可以将代码放入
Index
方法中,首先执行这些检查,并在出现故障时返回不同的状态代码,如

return InternalServerError();

这是如何工作的,因为它不会作为web服务器托管,例如kestrel,所以无法调用控制器?我想我误解了你的问题,那么,你的问题是关于非.net核心ASP.net web应用程序还是根本不是web应用程序的应用程序?net核心控制台应用程序,过去是windows服务,这里的响应很晚!监控控制台应用程序将通过其他机制完成,如STDERR