【发布时间】:2020-03-14 16:45:12
【问题描述】:
我正在 .NET Core 3.0 中编写一个具有不同层的简单应用程序,并使用 MediatR 使我的代码更简洁。 我有 5 个不同的层:API、Application、Application.IO、Domain 和 Infrastructure,我的 IRequestHandler 在 Application 中,IRequest 在 Application.IO 中,注册我的处理程序发生在 API 层的 Startup 类中。
在本地运行时我没有问题,但是当我将它部署到 IIS 服务器时,我不断收到错误:
为请求类型构建处理程序时出错 MediatR.IRequestHandler`2[WerfRegistratie.Application.IO.Queries.GetPersonQuery,WerfRegistratie.Application.IO.Queries.GetPersonQueryResponse]。 向容器注册您的处理程序。查看 GitHub 中的示例 例如。
【问题讨论】:
-
展示你如何注册处理程序,即你的
ConfigureServices。并描述您如何发布网站。 -
一开始我只是用了这个 services.AddMediatR(typeof(CreatePersonCommandHandler).GetTypeInfo().Assembly);但从那以后我尝试了多种其他方式(包括添加启动)。发布只是通过从 azure 下载发布配置文件并手动部署来实现
-
将您的代码添加到问题中:处理程序类、查询、注册以及如何调用它。
标签: c# asp.net .net-core mediatr