6
MassTransitのハンドラとコンシューマの違いは何ですか?私は、どちらか一方を使用する例を見たことがありますが、概念的には、2つの違いと、どちらを選択したいのかがはっきりしていません。MassTransitのハンドラとコンシューマの相違点
MassTransitのハンドラとコンシューマの違いは何ですか?私は、どちらか一方を使用する例を見たことがありますが、概念的には、2つの違いと、どちらを選択したいのかがはっきりしていません。MassTransitのハンドラとコンシューマの相違点
コンシューマは、Consumerオブジェクトのライフサイクルを処理する特殊なハンドラを持つ、登録するタイプです。
ハンドラは事実上単なる汎用イベントハンドラです。
メッセージの処理を解決するには、小さなAction<>
ブロックが必要な場合は、ハンドラを使用します。ライフサイクルを持つタイプを登録して、メッセージの処理を解決するには、コンシューマーを使用します。一般的に、コンテナがハンドラの範囲内にあるのではなく、型の依存関係を解決するようにするため、コンシューマが必要になります。しかし、ハンドラは、小さなものや要求応答のシナリオに適しています。
あなたの説明が与えられたら、メッセージごとにコンシューマーインスタンスが存在するでしょうか?同じクラスでフォルトハンドラを設定した場合、フォルトを処理する際に最後のインスタンスが使用されるか、まったく新しいインスタンスになりますか? –
登録に依存します。 IoCコンテナヘルパーに登録すると、コンテナはライフサイクルを維持できます。スレッド間で少なくとも1つのシングルトンが存在する場合は、一般に複数のインスタンスが存在するため、ステートはメッセージ間で共有するのが面倒です。 – Travis