Я пытаюсь настроить CURD в своем тестовом проекте.
Я использую последнюю версию библиотеки Nuget MediatR.
services.AddValidatorsFromAssembly(Assembly.GetExecutingAssembly());
services.AddMediatR(cfg =>
{
cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly());
cfg.AddBehavior(typeof(IPipelineBehavior), typeof(ValidationBehaviour), ServiceLifetime.Transient);
cfg.AddBehavior(typeof(IPipelineBehavior), typeof(LoggingBehaviour), ServiceLifetime.Scoped);
});
У меня конвейер ведения журнала работает, когда посредник вызывает команду. Но конвейер валидатора никогда не выполняется. Я следил за онлайн-ресурсами, но не смог заставить его работать.
Код вызывался внутри файла Program.cs, который был проектом API .net и содержал ссылку на проект службы, в котором все Команда, запросы, ValidatorBehaviour и LoggingBehaviour были сохранены.
Есть ли у кого-нибудь подобная настройка и возможность заставить валидатор работать?
Я нашел причину: Мне нужно добавить два разных конвейера валидатора
ValidationBehaviour1 : IPipelineBehavior where TRequest : IRequest
ValidationBehaviour2 : IPipelineBehavior where TRequest : IRequest
Подробнее здесь: https://stackoverflow.com/questions/757 ... -for-net-6