MassTransit 中的处理程序和消费者之间的区别

Difference between Handler and Consumer in MassTransit

MassTransit 中的 Handler 和 Consumer 有什么区别?我见过使用其中一种的示例,但从概念上讲,我不清楚两者之间的区别以及您为什么要选择其中一种。

Consumer 是您注册的一种类型,它具有专门处理 Consumer 对象生命周期的处理程序。

处理程序实际上只是一个通用事件处理程序。

如果只需要一个小 Action<> 块来解决对消息的任何操作,则可以使用处理程序。如果您想注册一个具有生命周期的类型,您可以使用 Consumer 来解决对您的消息的任何操作。通常,您最终会需要一个 Consumer,因为您希望您的容器解决该类型的依赖关系,而不是仅仅将它们放在您的处理程序的范围内。但是处理程序非常适合小事情或请求-响应场景。