0

Azure キューに接続された 2 つのコンシューマー (異なるアプリケーション) があります。私は、ReceiveAndDeleteまたはPeekLockメッセージを受け取ることができ、消費中はメッセージを受け取ることができます。参照: http://msdn.microsoft.com/en-us/library/azure/hh851750.aspxcomplete()abandon()

両方のアプリケーションでメッセージを受信したいので、メッセージを使用PeekLockしてからメッセージを使用したいと確信しています。abandon()削除メカニズムとして、キューのメッセージの有効期間を 10 秒に設定することにしました。

ただし、メッセージは 10 秒後に削除されるように見えるため、この 10 秒間、メッセージは両方のアプリケーションで何度も公開され続けます。カスタム重複検出を作成する必要がありますか、それとも一般的に間違ったアプローチを使用していますか?

4

1 に答える 1

2

私の経験では、PeeKLock を使用する場合、ほとんどの場合、Complete メソッドを使用してファイナライズする必要があります。Abandon メソッドは、「完了」としてマークされていないため、重複を作成しています。

Service Bus のトピック/サブスクリプション パターン、またはフィルターの使用を検討しましたか? あなたのシナリオを正しく理解していれば、それはまさにあなたが必要としているものかもしれません. 2 つのメッセージを、異なるトピックまたはフィルターを使用してキューに送信し、対象のアプリを指定できます。

http://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-topics-subscriptions/

これが役立つかどうか、またはこれがあなたの状況に合わない場合はお知らせください。

よろしくお願いします...

于 2014-10-30T22:33:06.717 に答える