Windows services 重构到NServiceBus处理程序

Windows services 重构到NServiceBus处理程序,windows-services,nservicebus,soa,messaging,Windows Services,Nservicebus,Soa,Messaging,我最近参加了Udi的高级SOA课程,现在正处于被称为引入SOA的第一阶段 我们有许多Windows服务,我正在开始替换它们。其中一项服务轮询电子邮件地址(我们必须与之集成的外部系统将电子邮件用作接口),有时当我们无法处理收到的电子邮件时,该服务会向用户发送电子邮件,让他们知道需要做些什么 我不太确定的是替换这个的最好方法。我所倾向的解决方案是(最初)用一个单独的进程来代替它,该进程使用NServiceBus主机作为Windows服务安装。这将像Windows服务当前所做的那样进行轮询,在特殊情况

我最近参加了Udi的高级SOA课程,现在正处于被称为引入SOA的第一阶段

我们有许多Windows服务,我正在开始替换它们。其中一项服务轮询电子邮件地址(我们必须与之集成的外部系统将电子邮件用作接口),有时当我们无法处理收到的电子邮件时,该服务会向用户发送电子邮件,让他们知道需要做些什么

我不太确定的是替换这个的最好方法。我所倾向的解决方案是(最初)用一个单独的进程来代替它,该进程使用NServiceBus主机作为Windows服务安装。这将像Windows服务当前所做的那样进行轮询,在特殊情况下,将通过NServiceBus向可以发送用户通知电子邮件的处理程序发送InvalidEmailReceived消息(单向,fire and forget)

我考虑过的另一个选项(但感觉不对)是让Windows服务保持原样,但只为send设置一个NServiceBus ref。然后创建一个单独的NServiceBus主机进程,该进程仅用于处理从现有(但已修改)Windows服务发送的InvalidEmailReceived消息


非常感谢所有的鼓励/批评…

您的第一个解决方案是有意义的,您可以将NServiceBus主机部署为windows服务,并在进程启动时启动,使用超时进行轮询

您可以部署另一个组件(最初在同一流程中)“emailSender”,它接收向用户发送通知的命令并执行该命令

看看安德烈亚斯的帖子