Usehealthchecks 与 Maphealthchecks
Usehealthchecks vs Maphealthchecks
我环顾四周,但我假设这是一种较旧的做事方式,但是向中间件添加健康检查端点是否有更深层次的区别?
In Startup.Configure()..
app.UseEndpoints(endpoints =>
{
endpoints.MapHealthChecks("/health");
});
app.UseHealthChecks("/health")
UseHealthChecks
和 MapHealthChecks
有细微差别,UseHealthChecks
允许您在使用 null 或空 PathString 时捕获端口上的任何端点,MapHealthChecks
不允许这样做,使用 null 会抛出异常,空字符串就相当于 /
.
他们都在幕后使用相同的中间件HealthCheckMiddleware
。 MapHealthChecks
是 IEndpointRouteBuilder
上的扩展方法,而 UseHealthChecks
是 IApplicationBuilder
.
上的扩展方法
此处引用出处,供参考
https://github.com/dotnet/aspnetcore/tree/main/src/Middleware/HealthChecks/src/Builder
如果您查看源代码,您会发现 UseHealthChecks
使用 MapWhen()
,而 MapHealthChecks
使用 Map()
我环顾四周,但我假设这是一种较旧的做事方式,但是向中间件添加健康检查端点是否有更深层次的区别?
In Startup.Configure()..
app.UseEndpoints(endpoints =>
{
endpoints.MapHealthChecks("/health");
});
app.UseHealthChecks("/health")
UseHealthChecks
和 MapHealthChecks
有细微差别,UseHealthChecks
允许您在使用 null 或空 PathString 时捕获端口上的任何端点,MapHealthChecks
不允许这样做,使用 null 会抛出异常,空字符串就相当于 /
.
他们都在幕后使用相同的中间件HealthCheckMiddleware
。 MapHealthChecks
是 IEndpointRouteBuilder
上的扩展方法,而 UseHealthChecks
是 IApplicationBuilder
.
此处引用出处,供参考
https://github.com/dotnet/aspnetcore/tree/main/src/Middleware/HealthChecks/src/Builder
如果您查看源代码,您会发现 UseHealthChecks
使用 MapWhen()
,而 MapHealthChecks
使用 Map()