public async ValueTask <ValidationResult[]> HandleAsync(Type targetRuleType, T[] items, ValidationRuleHandlerDelegate next, CancellationToken cancellationToken) { try { ValidationResult[] results; using (_metrics.MarkTime <T>(targetRuleType)) { results = await next(); } _metrics.MarkResults <T>(targetRuleType, results); return(results); } catch (Exception ex) { _metrics.MarkException <T>(targetRuleType, ex); throw; } }
public async ValueTask <ValidationResult[]> HandleAsync(Type targetRuleType, T[] items, ValidationRuleHandlerDelegate next, CancellationToken cancellationToken) { using (var loggingContext = new LoggingContext <T>(_loggerFactory, targetRuleType, items.Length)) { try { var results = await next(); loggingContext.Results(results); return(results); } catch (Exception ex) { loggingContext.Exception(ex); throw; } } }
public ValueTask <ValidationResult[]> HandleAsync(Type targetRuleType, T[] items, TContext context, ValidationRuleHandlerDelegate next, CancellationToken cancellationToken) { HandleCount += 1; return(next()); }
public ValueTask <ValidationResult[]> HandleAsync(Type targetRuleType, WeatherForecast[] items, DateTime context, ValidationRuleHandlerDelegate next, CancellationToken cancellationToken) { _logger.LogInformation("Handling dated weather forecast rule."); return(next()); }
public async ValueTask <ValidationResult[]> HandleAsync(Type targetRuleType, string[] items, long context, ValidationRuleHandlerDelegate next, CancellationToken cancellationToken) { return(await next()); }