首页 > 解决方案 > 每个模块可以注册自己的处理程序还是必须从引导程序应用程序完成?

问题描述

在一个解决方案结构中,有一个引用多个模块项目的 web api 引导程序应用程序,每个模块是否可以扩展IServiceCollection并在其中执行以下操作:

在模块 A 中: services.AddMediatR(ModuleAAssembly);

在模块 B 中: services.AddMediatR(ModuleBAssembly);

我只能找到顶级引导程序项目启动文件中的用法,例如: services.AddMediatR(ModuleAAssembly, ModuleBAssembly);

这不是世界末日,但如果每个模块都可以注册自己的处理程序会更好。

我担心的是多次调用AddMediatr(即使有不同的参数)可能会搞砸一些事情,因为它没有记录在案。

任何想法如何做到这一点?

标签: mediatr

解决方案


推荐阅读