【发布时间】:2021-01-06 08:04:37
【问题描述】:
我正在尝试将 MediatR 与动态查询一起使用 为此,我必须使用“T”通用类来不重复工作
System.AggregateException: '发生一个或多个错误。 (没有为 MediatR.IRequestHandler 类型的请求找到处理程序`
我遇到了这个错误,我不知道如何解决这个问题,请任何想法
public class DynamicReportingQuery<T> : IRequest<T>
{
public class DynamicReportingQueryHandler : IRequestHandler<DynamicReportingQuery<T>, T>
{
protected IExitDbContext db;
public DynamicReportingQueryHandler(IExitDbContext db)
{
this.db = db;
}
public Task<T> Handle(DynamicReportingQuery<T> request, CancellationToken cancellationToken)
{
T response;
try
{
var parameters = new object[] {
new { name = "QuestionnaireId",value=request.Filter.QuestionnaireId },
new { name = "SeparationType" ,value=request.Filter.SeparationType},
new { name = "FromDate",value=request.Filter.From },
new { name = "ToDate" ,value=request.Filter.GetToDate()},
new { name = "EntityId",value=request.Filter.EntityId },
};
response = db.SingleRowExecuteStoredProcedure<T>(request.ProcdureName, parameters);
}
catch (Exception ex)
{
throw ex;
}
return Task.FromResult(response);
}
}
public ReportFilterationModel Filter { get; set; }
public string ProcdureName { get; set; }
}
【问题讨论】:
-
你是怎么注册的?
-
@DanielA.White 我已添加此行 services.AddMediatR(Assembly.GetExecutingAssembly());
-
请发布您如何通过 MediatR 发送命令,并指定 MediatR 注册是否发生在定义您的
DynamicReportingQuery的同一程序集中。
标签: c# .net visual-studio asp.net-core