我最近参加了 Udi 的高级 SOA 课程,目前正处于介绍 SOA 的第 1 阶段。
我们有许多我开始替换的 Windows 服务。其中一项服务会轮询电子邮件地址(电子邮件用作我们必须与之集成的外部系统的接口),有时当我们无法处理收到的电子邮件时,该服务会向用户发送一封电子邮件,让他们知道一些事情需要完成。
我不太确定是替换它的最佳方法。我倾向于的解决方案只是将其替换为(最初)使用 NServiceBus 主机作为 Windows 服务安装的单个进程。这将像 Windows 服务当前所做的那样进行轮询,并且在特殊情况下会通过 NServiceBus 向可以发送用户通知电子邮件的处理程序发送 InvalidEmailReceived 消息(一种方式,即触发并忘记)。
我考虑过但感觉不对的另一个选择是保留 Windows 服务,但设置一个 NServiceBus 参考仅用于发送。然后创建一个单独的 NServiceBus 主机进程,该进程仅用于处理从现有(但已修改)Windows 服务发送的 InvalidEmailReceived 消息。
非常感谢所有鼓励/批评...