Dee*_*hra 1 c# async-await asp.net-core
我正在阅读有关 asp.net core 中的健康检查的信息。
我见过这段代码。
public class ExampleHealthCheck : IHealthCheck
{
public Task<HealthCheckResult> CheckHealthAsync(
HealthCheckContext context,
CancellationToken cancellationToken = default(CancellationToken))
{
var healthCheckResultHealthy = true;
if (healthCheckResultHealthy)
{
return Task.FromResult(
HealthCheckResult.Healthy("A healthy result."));
}
return Task.FromResult(
HealthCheckResult.Unhealthy("An unhealthy result."));
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,该方法CheckHealthAsync未标记为异步。它是否以这种方式支持同步和异步功能?
这个答案有两个部分:
Async后缀用于满足IHealthCheck接口要求。它只是一种命名约定(尽管很重要),在语言本身中没有特殊含义。async不使用,因为方法的实现不需要它(即它没有awaits)请注意,该实现还使用Task.FromResult而不是直接返回值。这样做也是为了满足IHealthCheck接口的要求,该接口旨在允许异步实现。
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |