Невозможно разрешить службу для типа «MediatR.IMediator».C#

Место общения программистов C#
Ответить
Гость
 Невозможно разрешить службу для типа «MediatR.IMediator».

Сообщение Гость »


Я пытаюсь создать .NET Core API с помощью CQRS, но не могу его создать из-за ошибки MediatR:

System.AggregateException: 'Некоторые службы невозможно создать (ошибка при проверке дескриптора службы 'ServiceType: Core.Infrastructure.Domain.Queries.IQueryBus Срок службы: Scoped ImplementationType: Core.Infrastructure.Bus.QueryBus': невозможно) разрешить службу для типа «MediatR.IMediator» при попытке активировать «Core.Infrastructure.Bus.QueryBus».)»

Я уже добавил AddScope для своего QueryBus и т. д. Вот мой код (приложение для AWS):

публичный класс Startup { общедоступная константная строка AppS3BucketKey = "AppS3Bucket"; публичный запуск (конфигурация IConfiguration) { Конфигурация = конфигурация; } общественная статическая конфигурация IConfiguration {get; частный набор; } общественная недействительность ConfigurationServices (службы IServiceCollection) { Services.AddControllers(); Services.AddAWSService(); Services.AddScoped(); Services.AddScoped(); Services.AddScoped(); } public void Настройка (приложение IApplicationBuilder, среда IWebHostEnvironment) { если (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); приложение.UseRouting(); приложение.UseAuthorization(); app.UseEndpoints(конечные точки => { конечные точки.MapControllers(); }); } } QueryBus:

с использованием System.Threading.Tasks; использование Core.Infrastructure.Domain.Queries; использование МедиатР; пространство имен Core.Infrastructure.Bus { общедоступный класс QueryBus: IQueryBus { частный IMediator _mediator только для чтения; общедоступный QueryBus (посредник IMediator) { _медиатор = посредник; } public Task Send(запрос TQuery), где TQuery: IQuery { вернуть _mediator.Send(запрос); } } } IQueryBus:

с использованием System.Threading.Tasks; пространство имен Core.Infrastructure.Domain.Queries { общедоступный интерфейс IQueryBus { Task Send(запрос TQuery), где TQuery: IQuery; } } Спасибо за помощь
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»