Azure Service Busでは、QueueClient
とMessageFactory
を使用してブローカーメッセージを送信できます。なぜどちらか一方を使いたいのか知りたいのですが。
Azure Service Busは、メッセージを送受信するためのさまざまな方法を提供します。
QueueClient
を使用して、キューとの間でメッセージを送受信できます。TopicClient
を使用して、トピックにメッセージを送信できますSubscriptionClient
を使用して、サブスクリプションからメッセージを受信できます。MessageSender
とMessageReceiver
を使用して、エンティティタイプが不変の送信者と受信者を作成します。
var factory = MessagingFactory.CreateFromConnectionString("MyConnectionString");
MessageSender
は、トピックまたはキューの両方にメッセージを送信できます。
var sender = factory.CreateMessageSender("Queue ou topic path");
MessageReceiver
caは、キューとサブスクリプションの両方からメッセージを受信します。
var receiver = factory.CreateMessageReceiver("Queue ou subscription path");
これらの抽象化により、サービスバスエンティティのパスを変更するだけで(これは構成ファイルにある可能性があります)、コードを変更する必要がないため、キューからトピックに、またはその逆に切り替える必要がある場合に、柔軟性が高まります。 QueueClient
、TopicClient
、SubscriptionClient
を使用して、キューからトピックに移動する場合は、コードを変更する必要があります。
したがって、Azure ServiceBusキュートピック/サブスクリプションとの間でメッセージを送受信する必要がある場合は、常にMessageReceiver
/MessageSender
を使用することをお勧めします。
注:これは、実装が異なるEventhubには適用されません。