次の方法で共有


BrokeredMessage.Complete メソッド

定義

メッセージの受信操作を完了し、メッセージを処理済みとしてマークして削除する必要があることを示します。

public void Complete ();
member this.Complete : unit -> unit
Public Sub Complete ()

例外

メッセージが破棄状態であるか、メッセージを受信した受信側が破棄された状態のときにスローされます。

メッセージ サーバーから受信されていないメッセージ、またはピーク ロック モードで受信されていないメッセージで呼び出された場合にスローされます。

メッセージを受信するキューまたはサブスクリプションがメッセージ サーバーに存在しなくなったときにスローされます。

操作がタイムアウトしたときにスローされます。タイムアウト期間は を介して初期化されます MessagingFactorySettings。 タイムアウト値が比較的小さい場合は、 の OperationTimeout 値を増やしてこの例外を回避する必要がある場合があります。

メッセージのロックの有効期限が切れている場合にスローされます。 LockDuration はエンティティ全体の設定であり、キューとサブスクリプションに対して それぞれ をLockDuration使用してLockDuration初期化できます。

セッションのロックが期限切れになった場合にスローされます。 セッション ロック期間は、メッセージ LockDuration と同じであり、エンティティ全体の設定です。 キューとサブスクリプションに対して、 と LockDuration を使用してLockDurationそれぞれ初期化できます。

Service Bus サービスがビジー状態で、要求を処理できない場合。

メッセージの受信元のメッセージング エンティティが削除されたとき。

TokenProvider によって提供されるセキュリティ トークンに、この操作を実行する要求が含まれていない場合。

エンティティへの同時接続の数が許容される最大値を超えた場合。

注釈

このメソッドは、メッセージの確実な配信のために、受信側と Service Bus の間のハンドシェイクとして使用されます。 このメソッドを呼び出す前に受信側が失敗した場合、メッセージはキューに保持されます。

適用対象