【问题标题】:How to add mediatr in .NET 6?如何在 .NET 6 中添加 mediatr?
【发布时间】:2022-08-22 19:37:54
【问题描述】:

在 .NET Core 中,我们可以在 ConfigureServices 方法中添加它

services.AddMediatR(typeof(Startup));

但在 .NET 6 中,只有 Program.cs。如何在 .NET 6 中添加 mediatr?

尝试使用此代码,但出现构建错误

  • 你试过:builder.Services.AddMediatR(typeof(Startup));
  • 我试过但得到了构建错误

标签: mediatr


【解决方案1】:
 builder.Services.AddMediatR(Assembly.GetExecutingAssembly());

编辑(解释):AddMediatR 扩展方法需要一个 addembly 来扫描,以便它可以注册所有处理程序和中介类型。在以前版本的 dotnet 中,我们使用 typeof(Startup) 来指向我们的 asp 项目的程序集。我们总是可以做同样的事情,而不是通过在我们的 asp 项目中创建一个接口来获取正在执行的程序集,这也有助于测试。只需创建一个具有有意义名称的空接口,例如 IProjectNameMarker,然后您可以使用 typeof(IProjectNameMarker)。

【讨论】:

  • 还需要添加 MediatR.Extensions.Microsoft.DependencyInjection NuGet 包。
  • 啊!这就是我错过的。谢谢@YaroslavN。
猜你喜欢
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 2022-08-23
  • 2023-01-05
相关资源
最近更新 更多