Моя команда:Зарегистрировать трубопровод MediatR с недействительными/ответ Целевую
public class Command : IRequest { ... }
Мой обработчик:
public class CommandHandler : IAsyncRequestHandler<Command> { ... }
Моя регистрация трубопровода (не используя открытые дженерики):
services.AddTransient<IPipelineBehavior<Command>, MyBehavior<Command>>();
Однако это не работает: Using the generic type 'IPipelineBehavior<TRequest, TResponse>' requires 2 type arguments.
И такая же ошибка для MyBehavior
.
The docs упомянуть Unit
struct. Как его использовать?
MediatR определяет специфику [ 'IRequest'] (https://github.com/jbogard/MediatR/blob/master/src/MediatR/IRequest.cs#L6) , ['IRequestHandler'] (https://github.com/jbogard/MediatR/blob/master/src/MediatR/IRequestHandler.cs#L23) и [' IAsyncRequestHandler'] (https://github.com/jbogard/ MediatR/blob/master/src/MediatR/IAsyncRequestHandler.cs # L25) для случаев, когда вы не хотите возвращать значение. Такое же поведение, как указание «Unit» в качестве типа возврата, семантика ближе к тому, что вы пытаетесь достичь, поскольку вам не нужно возвращать экземпляр «Unit» в обработчике. –