Mediatr и StructureMap - публикация событий - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть перечисленные ниже классы / конфигурации реестра, и я пытаюсь опубликовать событие, однако по какой-то причине оно завершается ошибкой со следующим сообщением:

Экземпляр по умолчанию не зарегистрирован и не может быть автоматическиопределяется для типа 'IEnumerable'Для IEnumerable не задана конфигурация

Реестр StructureMap:

 public DefaultRegistry() {
        Scan(
            scan => {
                scan.TheCallingAssembly();
                scan.WithDefaultConventions();

                scan.ConnectImplementationsToTypesClosing(typeof(IRequestHandler<>));
                scan.ConnectImplementationsToTypesClosing(typeof(INotificationHandler<>));
            });
        //For<IExample>().Use<Example>();

        For<ServiceFactory>().Use<ServiceFactory>(ctx => ctx.GetInstance);
        For<IMediator>().Use<Mediator>();

        For<ILocalContentVerificationService>().Use<LocalContentVerificationService>();
    }

Событие:

public class LocalContentVerificationCreated : INotification
{
    public LocalContentVerificationCreated(LocalContentVerification verification)
    {
        Verification = verification;
    }

    public LocalContentVerification Verification { get; }
}

Обработчик события:

public class LocalContentVerificationCreatedSendEmails : INotificationHandler<LocalContentVerificationCreated>
{
    private readonly WILocalRepository wiLocalRepository;

    public LocalContentVerificationCreatedSendEmails(WILocalRepository wiLocalRepository)
    {
        this.wiLocalRepository = wiLocalRepository;
    }
    public async Task Handle(LocalContentVerificationCreated notification, CancellationToken cancellationToken)
    {
    // Do stuff here
    }
}

Публикация события:

  await mediator.Publish(new LocalContentVerificationCreated(verification));

Есть идеи?Любая помощь будет принята с благодарностью

...