据我所知,从MassTransit的文档和API,这是注册方法消息处理程序的唯一方法:
IServiceBus.SubscribeHandler<T>(Action<T> handler)
但是,我想使用基于属性的反射来注册处理程序,所以理想情况下我需要这样的东西:
IServiceBus.SubscribeHandler(Type messageType, Action<object> handler)
这样的事情是否存在,或者有没有办法实现它?
答案 0 :(得分:0)
MassTransit需要类型信息&#34;静态&#34;在通话中。没有办法解决这个问题。
然而,您可以通过反射调用SubscribeHandler<T>
并传入通用的类型信息。执行此操作的扩展方法可以很好地工作,并且可能具有您正在寻找的完全相同的签名。