2

我正在尝试想出一个好方法来“暂停”使用 Mass Transit ServiceBus 处理消息。基本上我需要让我的 Windows 服务运行,但暂时停止处理消息。

我只能想到两种方法来做到这一点,使用订阅令牌,或者处置服务总线。

有没有首选的方法,或者我走错了路?

4

1 回答 1

1

假设您有一些其他代码需要继续运行,那么将其拆分为单独的服务是否值得?

通过消息传递提供控制的较长方式或可能是对第一种方式的补充是使用“控制”总线,即另一个端点,配置有可以创建/处置用于消息传递基础设施的整个容器的服务。

另一种方法是在其“货架”配置中使用Topshelf - 在 Topshelf 3 之前,您可以从外部控制哪个货架正在运行。将整个消息处理域放置在您想要独立于服务和服务的其余部分控制的架子上——在它自己的架子上。

缺点是:

  • 调试服务(以交互方式)要困难得多。
  • 它将需要重新打包服务(.exe 不再是您的,只有服务是)。
于 2013-04-01T13:24:32.893 回答