5

我正在使用带有内置容器的 ASP.NET Core。

自动注册应该是这样完成

services.AddMvc();
services.AddMediatR(typeof(Startup));

这会自动 1) 配置 MediatR,以及 2) 注册在程序集中找到的所有处理程序。

但我想手动注册我的处理程序。我怎么做?

4

2 回答 2

3

今天我遇到了同样的问题,而不是使用扩展来扫描程序集并自动添加所有处理程序。我们需要手动注册。

这是应该如何注册的工作示例:

var serviceConfig = new MediatRServiceConfiguration();
ServiceRegistrar.AddRequiredServices(services, serviceConfig);
services.AddScoped<IRequestHandler<MyCommand, MyCommandResponse>, MyCommandHandler>();

从哪里来MediarRServiceConfiguration_ Microsoft.Extensions.DependencyInjection_ ServiceRegistrar_MediatR.Registration

于 2021-10-20T18:11:07.990 回答
2
services.AddTransient<IRequestHandler<MyRequestModel, MyResponseModel>, MyHandler>();
于 2020-10-12T11:02:51.067 回答