首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到通用Mediatr Handler

找不到通用Mediatr Handler
EN

Stack Overflow用户
提问于 2020-08-19 16:39:36
回答 1查看 383关注 0票数 0

我正在尝试为泛型请求注册一个泛型请求处理程序,但是当我调用

代码语言:javascript
复制
await _mediator.Send(new ExchangeOrderRequest<ExchangeOrderResponseSuccessEvent>());

MediatR.IRequestHandler2[MyNamespace.ExchangeOrderRequest1MyNamespace.ExchangeOrderResponseSuccessEvent,System.InvalidOperationException:未为

MediatR.Unit类型的请求找到处理程序。向容器注册处理程序。有关示例,请参阅GitHub中的示例。

顺便指出,对于咯咯笑,我能够将IRequestHandler<ExchangeOrderRequest<ExchangeOrderResponseSuccessEvent>>的一个实例插入到控制器中。

代码语言:javascript
复制
// Some assembly scanning, doesn't find my handler
services.AddMediatR(typeof(Startup), typeof(ExchangeOrderRequest), typeof(IDocumentMessage), typeof(OrderExecution.Handler));

// Try to manually add the handler.  Still doesn't find it
services.AddTransient<IRequestHandler<ExchangeOrderRequest<ExchangeOrderResponseSuccessEvent>>, ExchargeOrderRequestHandler<ExchangeOrderResponseSuccessEvent, ExchangeOrderRequest<ExchangeOrderResponseSuccessEvent>>>();




public class ExchargeOrderRequestHandler<TEvent, TRequest> : IRequestHandler<TRequest> 
    where TRequest : ExchangeOrderRequest<TEvent> 
    where TEvent : ExchangeOrderEvent
{
     // Stuff
}`

public class ExchangeOrderRequest<T>: DocumentMessage, IRequest where T: ExchangeOrderEvent
{
     // Stuff
}

public class ExchangeOrderEvent : IEvent
{
      // Stuff
 
        
}

我在这里错过了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-05-10 00:05:45

我也有同样的问题。

但是,我可以像这样注册处理程序。

代码语言:javascript
复制
services.AddTransient(typeof(IRequestHandler<,>), typeof(CustomHandler<,>));

这只适用于一个通用处理程序..。我有很多..。我需要这样做:

代码语言:javascript
复制
services.AddTransient(typeof(IRequestHandler<,>), typeof(CustomHandler1<,>));
services.AddTransient(typeof(IRequestHandler<,>), typeof(CustomHandler2<,>));
//etc...

当我尝试这么做的时候..。无论我发送给MediatR的是什么命令,它都会解析我注册的最后一个处理程序。因此,类型约束自然会被中转,并出现运行时异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63491394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档