2

isExclusiveタイプ EasyNetQ.Topology.Queue のコンストラクターのパラメーターの使用について誰か説明してください。

注: このタイプは、高度な API を使用してキューを削除するためにインスタンス化する必要があります。

4

1 に答える 1

2

AMQP ドキュメントから

「排他キューは現在の接続によってのみアクセスでき、その接続が閉じると削除されます。他の接続による排他キューの受動的な宣言は許可されていません。」

キューを削除する前に、キューが存在することを確認することをお勧めします。パッシブ宣言 (存在しない場合はキューを作成しません) を実行すると、IQueue インスタンスが返され、それを使用して削除できるため、 isExclusive パラメーターについて心配する必要はありません。

// may throw if queue doesn't exist
var queue = advancedBus.QueueDeclare("my.queue.name", passive = true);
advancedBus.QueueDelete(queue);

余談として。IQueue の isExclusive パラメーターは IAdvancedBus.Delete(..) メソッドでは使用されないため、喜んで無視できます (これは将来のバージョンで変更される可能性があることに注意してください)。

于 2014-02-17T10:38:45.310 に答える