在nservicebus v6中,为了定义消息的处理程序,只需要创建一个实现IHandleMessages<T>
接口的类。而已。我不需要通过我的端点中的方法或任何类型的方法来注册此处理程序类型。
我假设框架使用反射来查找IHandleMessages接口的所有实现。这是真的?我可以在运行时以编程方式添加/删除处理程序吗?
答案 0 :(得分:1)
NServiceBus会扫描程序集以进行实现,并且可以对此进行控制。见https://docs.particular.net/nservicebus/hosting/assembly-scanning
它也可能有助于理解他们如何使用发布 - 订阅机制。具体实施方式因运输而异。
在我工作的地方,我们使用SQL Server作为传输,所有对事件的订阅都只是在NServiceBus数据库的表中。
在他们的文档中阅读更多相关内容:
https://docs.particular.net/nservicebus/messaging/publish-subscribe/
以及有关自动订阅的详情:
https://docs.particular.net/nservicebus/messaging/publish-subscribe/controlling-what-is-subscribed