MediatR 和处理程序

问题描述 投票:0回答:1

最近有人建议我在 API 控制器中使用 MediatR 进行封装。

我只是想知道它如何知道与哪个处理程序通信以及何时通信?

我检查了 IDE 中的处理程序,它们似乎没有在任何地方使用或引用

c# .net encapsulation mediatr
1个回答
0
投票

MediatR 需要使用如下方式在 ServiceCollection 上注册:

services.AddMediatR(cfg =>
     cfg.RegisterServicesFromAssembly(typeof(Startup).Assembly));

如果你看一下那里实际发生的情况(请参阅此处的源代码),你将看到中介器找到其自己域的接口的每个具体实现(IRequestHandler、IRequestHandler、INotificationHandler 等)并注册它去收藏吧。

最后,当您调用它时,它知道要调用什么。

© www.soinside.com 2019 - 2024. All rights reserved.