Я начинаю работать с MediatR в asp. net core 3.1. Я хочу предоставить инфраструктуру для получения данных и публикации sh их по разным каналам, и в разных службах получать разные данные на основе этой службы. Я также читал о Polymorphic Dispatch
, но не смог найти решение.
это то, что я сделал в моем обработчике и издателе, но в части обработчика я хочу иметь возможность получать разные данные на основе этого сервис.
Обработчик
public class MessageHandler<TInput> : INotificationHandler<TInput> where TInput : INotification
{
public async Task Handle(TInput notification, CancellationToken cancellationToken)
{
await Task.CompletedTask;
}
}
Издатель
public interface IPublisher<TEntity>
{
Task Notify(TEntity entity);
}
public class Publisher<TEntity> : IPublisher<TEntity>
{
private readonly IMediator _mediator;
public Publisher(IMediator mediator)
{
_mediator = mediator;
}
public async Task Notify(TEntity notification)
{
await _mediator.Publish(notification);
}
}