对于查询对象,我使用.Net Core 3.1和MediatR框架/库。在执行webApi\终结点时,我将得到以下问题
某些服务无法构造(验证服务描述符‘MediatR.IRequestHandler2[Queries.GetOrderResultQuery,System.Collections.Generic.IEnumerable1Models.Order.OrdersDto]生命周期:瞬态ImplementationType: Queries.Handlers.GetOrderResultQueryHandler’)时出错:无法在激活'Queries.Handlers.GetOrderResultQueryHandler'.)时解析'Interfaces.Repositories.IOrderResultRepository‘类型的服务
这是我的项目结构

GetOrderResultQueryHandlerservices.AddMediatR我已经尝试了,我尝试了网络中给出的不同选项,如下所示
//var mediatRTypes = new Type[] { typeof(AppCore.ServiceAppCore), typeof(Domain.OrderDomain) };
//services.AddMediatR(mediatRTypes);
services.AddMediatR(typeof(AppCore.ServiceAppCore),typeof(Domain.OrderDomain));//ServiceAppCore is a class in AppCore Project & OrderDomain is a class in Domain Project where I have Data Models
//services.AddMediatR(typeof(Startup)); // <===Gives Error Handler was not found for request of type MediatR.IRequestHandler`
//services.AddMediatR(AppDomain.CurrentDomain.GetAssemblies());
//services.AddMediatR(typeof(Startup).GetTypeInfo().Assembly);
//services.AddMediatR(Assembly.GetExecutingAssembly());// <===Gives Error Handler was not found for request of type MediatR.IRequestHandler`对于每个选项,我得到下面提到的一个或另一个错误
在验证服务描述符的MediatR.IRequestHandler`
时,没有为MediatR.IRequestHandler类型的请求找到
我对这个模式并不熟悉,也不知道我在这里缺少了什么。请就这一问题提出解决办法。
发布于 2022-06-08 23:32:30
检查您的持久性项目,您将看到扩展文件夹中的RepositoryRegistration类。您应该在那里注册存储库,如下所示:
public static void AddRepositories(this IServiceCollection services)
{
services.AddTransient<IYourRepositoryInterface, YourRepositoryClass>();
}https://stackoverflow.com/questions/71630599
复制相似问题