MassTransitServiceBusを使用してメッセージの処理を「一時停止」するための良い方法を考え出そうとしています。基本的に、Windowsサービスを実行したままにする必要がありますが、メッセージの処理を一時的に停止します。
これを行うには、サブスクリプショントークンを使用する方法と、サービスバスを破棄する方法の2つしか考えられません。
これを行うための好ましい方法はありますか、それとも私は間違った道を進んでいますか?
MassTransitServiceBusを使用してメッセージの処理を「一時停止」するための良い方法を考え出そうとしています。基本的に、Windowsサービスを実行したままにする必要がありますが、メッセージの処理を一時的に停止します。
これを行うには、サブスクリプショントークンを使用する方法と、サービスバスを破棄する方法の2つしか考えられません。
これを行うための好ましい方法はありますか、それとも私は間違った道を進んでいますか?
実行を継続する必要のある他のコードがあると仮定すると、それを別々のサービスに分割するだけの価値があるのではないでしょうか。
メッセージングを介した制御を提供する、より長い方法またはおそらく最初の方法を補完する方法は、メッセージングインフラストラクチャに使用されるコンテナ全体を作成/破棄できるサービスで構成された「制御」バス、つまり別のエンドポイントを使用することです。
もう1つの方法は、Topshelfを「シェルフ」構成で使用することです。Topshelf3より前は、どのシェルフが動作しているかを外部から制御できました。メッセージ処理ドメイン全体を、サービスおよびサービスの残りの部分から独立して制御するシェルフに配置します(独自のシェルフに配置します)。
欠点は次のとおりです。