private static async Task Main() { #pragma warning disable CC0022 // Should dispose object #pragma warning disable MA0004 // Use .ConfigureAwait(false) await using var container = new Container(); #pragma warning restore MA0004 // Use .ConfigureAwait(false) #pragma warning restore CC0022 // Should dispose object var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies().ToList(); var mainAssembly = typeof(Program).Assembly; var assemblies = new List <Assembly> { mainAssembly }; var refAssemblies = mainAssembly.GetReferencedAssemblies(); foreach (var assemblyName in refAssemblies .Where(a => a.FullName.StartsWith(nameof(SampleFMS), StringComparison.OrdinalIgnoreCase))) { var assembly = loadedAssemblies.Find(l => l.FullName !.Equals(assemblyName.FullName, StringComparison.OrdinalIgnoreCase)) ?? AppDomain.CurrentDomain.Load(assemblyName); assemblies.Add(assembly); } container.AddFluentValidation( cfg => { cfg.WithAssembliesToScan(assemblies); cfg.RegisterAsValidatorCollection(); }); container.AddMediatR( cfg => { cfg.WithAssembliesToScan(assemblies); cfg.UsingBuiltinPipelineProcessorBehaviors(true); cfg.UsingPipelineProcessorBehaviors(typeof(FluentValidationCollectionPipelineBehavior <,>)); }); var mediator = container.GetInstance <IMediator>(); var request = new SampleRequest { Id = 9 }; var response = await mediator.Send(request).ConfigureAwait(false); var request2 = new SampleRequest2 { Id = 9 }; var response2 = await mediator.Send(request2).ConfigureAwait(false); Console.WriteLine(response.Id); Console.WriteLine(response2.Id); }
#pragma warning disable CC0091 // Use static method #pragma warning disable CC0057 // Unused parameters #pragma warning disable IDE0060 // Remove unused parameter #pragma warning disable RCS1163 // Unused parameter. #pragma warning disable CA1801 // Review unused parameters public Task Handle( SampleRequest request, ValidationException exception, RequestExceptionHandlerState <SampleResponse> state, CancellationToken cancellationToken) { if (exception is null) { return(Task.CompletedTask); } foreach (var error in exception.Errors) { Console.WriteLine(error); } return(Task.CompletedTask); }