2016-06-30 10 views

答えて

6

コンシューマは、Consumerオブジェクトのライフサイクルを処理する特殊なハンドラを持つ、登録するタイプです。

ハンドラは事実上単なる汎用イベントハンドラです。

メッセージの処理を解決するには、小さなAction<>ブロックが必要な場合は、ハンドラを使用します。ライフサイクルを持つタイプを登録して、メッセージの処理を解決するには、コンシューマーを使用します。一般的に、コンテナがハンドラの範囲内にあるのではなく、型の依存関係を解決するようにするため、コンシューマが必要になります。しかし、ハンドラは、小さなものや要求応答のシナリオに適しています。

+0

あなたの説明が与えられたら、メッセージごとにコンシューマーインスタンスが存在するでしょうか?同じクラスでフォルトハンドラを設定した場合、フォルトを処理する際に最後のインスタンスが使用されるか、まったく新しいインスタンスになりますか? –

+1

登録に依存します。 IoCコンテナヘルパーに登録すると、コンテナはライフサイクルを維持できます。スレッド間で少なくとも1つのシングルトンが存在する場合は、一般に複数のインスタンスが存在するため、ステートはメッセージ間で共有するのが面倒です。 – Travis

関連する問題