nservicebus订户实现

nservicebus订户实现,nservicebus,Nservicebus,订阅服务器中是否需要事件处理程序?例如: 项目: Crm.活动: NewUserCreated:IMessage{} Crm.Publisher: 控制台应用程序发布为Bus.PublishNewUserCreated Crm.订户: 控制台应用程序订阅NewUserCreated事件 Crm.EventHandlers NewUserCreatedHandler:IHandleMessages{…} 我是否需要Crm.Subscriber中的NewUserCreatedHandler,或者我是

订阅服务器中是否需要事件处理程序?例如:

项目: Crm.活动: NewUserCreated:IMessage{}

Crm.Publisher: 控制台应用程序发布为Bus.PublishNewUserCreated

Crm.订户: 控制台应用程序订阅NewUserCreated事件

Crm.EventHandlers NewUserCreatedHandler:IHandleMessages{…}

我是否需要Crm.Subscriber中的NewUserCreatedHandler,或者我是否可以引用Crm.Subscriber中的Crm.EventHandlers程序集,以便NSB可以调用该处理程序


谢谢

您可以引用eventhandler程序集。这是因为NSB会扫描bin目录中的所有程序集,查找实现IHandleMessages的classed


也就是说,您能解释一下为什么要将MessageHandler与Crm.Subscriber项目分开吗?

我的想法是,如果我需要将Subscriber从控制台应用更改为windows服务,我可以简单地将该程序集引用到windows服务中,而不是将文件复制到windows服务中。NServiceBus附带的通用主机进程可以自动为您执行此操作-谢谢大家,现在一切都清楚了。是否有在解决方案中创建项目的推荐/最佳实践/首选方法?我知道这是一个一般性的问题,但我看到人们建议在单独的项目中创建命令和事件。解决方案中是否有关于项目结构的其他问题或建议?