MassTransit:是否可以非通用地注册处理程序?

时间:2014-05-02 22:05:11

标签: c# masstransit

据我所知,从MassTransit的文档和API,这是注册方法消息处理程序的唯一方法:

IServiceBus.SubscribeHandler<T>(Action<T> handler)

但是,我想使用基于属性的反射来注册处理程序,所以理想情况下我需要这样的东西:

IServiceBus.SubscribeHandler(Type messageType, Action<object> handler)

这样的事情是否存在,或者有没有办法实现它?

1 个答案:

答案 0 :(得分:0)

MassTransit需要类型信息&#34;静态&#34;在通话中。没有办法解决这个问题。

然而,您可以通过反射调用SubscribeHandler<T>并传入通用的类型信息。执行此操作的扩展方法可以很好地工作,并且可能具有您正在寻找的完全相同的签名。