MassTransit:是否可以非泛型注册处理程序?

本文关键字:注册 处理 程序 泛型 是否 MassTransit | 更新日期: 2023-09-27 18:01:30

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

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

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

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

这样的东西存在吗,或者有实现它的方法吗?

MassTransit:是否可以非泛型注册处理程序?

MassTransit在调用中要求类型信息"static "。这是没有办法的。

但是,您可以通过反射调用SubscribeHandler<T>并传递泛型的类型信息。这样做的扩展方法将非常有效,并且可能具有您在上面寻找的完全相同的签名。