private void RemoveCheck(DisposableHealthCheck healthCheck) { lock (_locker) { _checks.Remove(healthCheck); } }
public IDisposable Register(string name, Func <HealthMessage> checkFunc) { lock (_locker) { var healthCheck = new DisposableHealthCheck(name, checkFunc, RemoveCheck); _checks.Add(healthCheck); return(healthCheck); } }
public IDisposable RegisterCheck(string name, Func <ValueTask <HealthCheckResult> > checkFunc) { lock (_locker) { var healthCheck = new DisposableHealthCheck(name, checkFunc, RemoveCheck); _checks.Add(healthCheck); return(healthCheck); } }
public IDisposable RegisterCheck(string name, Func <HealthCheckResult> checkFunc) { lock (_locker) { var healthCheck = new DisposableHealthCheck(name, () => { var result = checkFunc(); return(new HealthMessage(result.IsHealthy? Health.Healthy:Health.Unhealthy, result.Message)); }, RemoveCheck); _checks.Add(healthCheck); return(healthCheck); } }