<msmqIntegration>

カスタム バインドの MSMQ トランスポートを指定します。

<configuration>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <binding>
          <msmqIntegration>

構文

<msmqIntegration customDeadLetterQueue="Uri"
                 deadLetterQueue="Custom/None/System"
                 durable="Boolean"
                 exactlyOnce="Boolean"
                 manualAddressing="Boolean"
                 maxBufferPoolSize="Integer"
                 maxImmediateRetries="Integer"
                 maxReceivedMessageSize="Integer"
                 maxRetryCycles="Integer"
                 rejectAfterLastRetry="Boolean"
                 retryCycleDelay="TimeSpan"
                 serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
                 timeToLive="TimeSpan"
                 useSourceJournal="Boolean"
                 useMsmqTracing="Boolean">
  <msmqTransportSecurity>
  </msmqTransportSecurity>
</msmqIntegration>

タイプ

Type

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

Attributes

特性 Description
customDeadLetterQueue アプリケーションごとの配信不能キューの場所を示す URI。有効期限が切れているか、アプリケーションに配信できなかったメッセージが転送されます。

ExactlyOnce 保証を必要とするメッセージ (つまり、 exactlyOnce が true に設定されている) の場合、この属性は MSMQ のシステム全体のトランザクション配信不能キューに既定で設定されます。

保証を必要としないメッセージ (つまり、 exactlyOnce が false に設定されている) の場合、この属性は既定で null に設定されます。

値には net.msmq スキームを使用する必要があります。 既定値は nullです。

deadLetterQueueが None または System に設定されている場合は、この属性を null に設定する必要があります。 この属性が nullされていない場合は、 deadLetterQueue を Custom に設定する必要があります。
deadLetterQueue 使用する配信不能キューの種類を指定します。

有効な値は次のとおりです。

- カスタム: カスタム配信不能キュー。
- なし: 配信不能キューは使用されません。
- システム: システム配信不能キューを使用します。

この属性は DeadLetterQueue 型です。
耐久 性 このバインディングによって処理されるメッセージが永続的か揮発性かを指定するブール値。 既定値は trueです。

永続メッセージはキュー・マネージャーのクラッシュ後も存続しますが、揮発性メッセージは存続しません。 揮発性メッセージは、アプリケーションの待機時間を短縮する必要があり、失われるメッセージが時折許容される場合に便利です。

exactlyOnceが true に設定されている場合、メッセージは永続的である必要があります。
exactlyOnce このバインディングによって処理されるメッセージを 1 回だけ受信するかどうかを指定するブール値。 既定値は trueです。

メッセージは、保証の有無にかかわらず送信できます。 保証により、アプリケーションは、送信されたメッセージが受信側のメッセージ キューに到達したことを確認できます。そうでない場合は、アプリケーションは配信不能キューを読み取ることによってこれを判断できます。

exactlyOnceは、 trueに設定すると、送信されたメッセージが受信メッセージ キューに確実に 1 回だけ配信され、配信が失敗した場合は、メッセージが配信不能キューに送信されることを示します。

exactlyOnceをtrueに設定して送信されるメッセージは、トランザクション キューにのみ送信する必要があります。
manualAddressing ユーザーがメッセージ アドレス指定を制御できるようにするブール値。 このプロパティは、通常、アプリケーションがメッセージを送信する複数の宛先のいずれかを決定するルーターのシナリオで使用されます。

trueに設定すると、チャネルはメッセージが既にアドレス指定されていると見なされ、追加の情報は追加されません。 その後、ユーザーはすべてのメッセージに個別に対処できます。

falseに設定すると、既定の Windows Communication Foundation (WCF) アドレス指定メカニズムによって、すべてのメッセージのアドレスが自動的に作成されます。

既定値は falseです。
maxBufferPoolSize バッファー プールの最大サイズを指定する正の整数。 既定値は 524288 です。

WCF の多くの部分ではバッファーが使用されます。 バッファーを使用するたびにバッファーを作成および破棄するのはコストがかかり、バッファーのガベージ コレクションもコストがかかります。 バッファー プールを使用すると、プールからバッファーを取得し、それを使用して、完了したらプールに返すことができます。 したがって、バッファーの作成と破棄のオーバーヘッドは回避されます。
maxImmediateRetries アプリケーション キューから読み取られたメッセージに対する即時再試行の最大数を指定する整数。 既定値は 5 です。

メッセージの即時再試行の最大数が試行され、メッセージがアプリケーションによって使用されない場合、メッセージは後の時点で再試行するために再試行キューに送信されます。 再試行サイクルが指定されていない場合、メッセージは有害メッセージ キューに送信されるか、否定受信確認が送信者に返されます。
maxReceivedMessageSize ヘッダーを含む最大メッセージ サイズをバイト単位で指定する正の整数。 メッセージが受信者に対して大きすぎると、メッセージの送信者が SOAP エラーを受け取ります。 受信側はメッセージを削除し、トレース ログにイベントのエントリを作成します。 既定値は 65536 です。
maxRetryCycles 受信アプリケーションへのメッセージの配信を試行する再試行サイクルの最大数を指定する整数。 既定値は MaxValueです。

1 回の再試行サイクルで、指定された回数だけメッセージをアプリケーションに配信しようとします。 試行回数は、 maxImmediateRetries 属性によって設定されます。 配信時の試行が終了した後にアプリケーションがメッセージを使用できない場合、メッセージは再試行キューに送信されます。 後続の再試行サイクルは、再試行キューからアプリケーション キューに返されるメッセージで構成され、 retryCycleDelay 属性で指定された遅延の後、アプリケーションへの配信を再試行します。 maxRetryCycles属性は、アプリケーションがメッセージの配信を試みるために使用する再試行サイクルの数を指定します。
rejectAfterLastRetry 再試行の最大数が試行された後に配信に失敗したメッセージに対して実行するアクションを指定するブール値。

true は、否定受信確認が送信者に返され、メッセージが削除されることを意味します。 false は、メッセージが有害メッセージ キューに送信されることを意味します。 既定値は falseです。

値が false場合、受信側アプリケーションは有害メッセージ キューを読み取って有害メッセージ (つまり、配信に失敗したメッセージ) を処理できます。

MSMQ 3.0 では送信者への否定受信確認の返しがサポートされていないため、MSMQ 3.0 ではこの属性は無視されます。
retryCycleDelay すぐに配信できなかったメッセージを配信しようとしたときの再試行サイクル間の遅延時間を指定する TimeSpan 。 既定値は 00:10:00 です。

1 回の再試行サイクルで、指定された回数だけメッセージを受信側アプリケーションに配信しようとします。 試行回数は、 maxImmediateRetries 属性によって指定されます。 指定した回数の即時再試行の後にアプリケーションがメッセージを使用できない場合、メッセージは再試行キューに送信されます。 後続の再試行サイクルは、再試行キューからアプリケーション キューに返されるメッセージで構成され、 retryCycleDelay 属性で指定された遅延の後、アプリケーションへの配信を再試行します。 再試行サイクルの数は、 maxRetryCycles 属性によって指定されます。
serializationFormat MSMQ メッセージの一部として送信されるオブジェクトをシリアル化するために使用されるフォーマッタを指定します。 有効な値は次のとおりです。

- ActiveX: ACTIVEX フォーマッタは、COM オブジェクトをシリアル化するときに使用されます。
- Binary: オブジェクトをバイナリ パケットにシリアル化します。
- ByteArray: オブジェクトをバイト配列にシリアル化します。
- Stream: オブジェクトをストリームにシリアル化します。
- Xml: オブジェクトを XML パケットにシリアル化します。 既定値は XML です。

この属性は MsmqMessageSerializationFormat型です。
timeToLive メッセージの有効期限が切れて配信不能キューに格納されるまでの有効期間を指定する TimeSpan 。 既定値は 1.00:00:00 です。これは 1 日を意味します。

この属性は、受信アプリケーションによって処理される前に、時間に依存するメッセージが古くならないように設定されます。 キュー内のメッセージのうち、指定された期間内に受信側アプリケーションによって消費されないメッセージは、期限切れと言われます。 期限切れのメッセージは、配信不能キューと呼ばれる特殊なキューに送信されます。 配信不能キューの場所は、保証に基づいて、 customDeadLetterQueue 属性または適切な既定値に設定されます。
useMsmqTracing このバインディングによって処理されるメッセージをトレースするかどうかを指定するブール値。 既定値は falseです。

トレースが有効になっている場合、メッセージがメッセージ キュー コンピューターから出るまたはメッセージ キューに到着するたびに、レポート メッセージが作成され、レポート キューに送信されます。
useSourceJournal このバインディングによって処理されるメッセージのコピーをソース ジャーナル キューに格納するかどうかを指定するブール値。 既定値は falseです。

コンピューターの送信キューを残したメッセージのレコードを保持するキューに置かれたアプリケーションは、ジャーナル キューにメッセージをコピーできます。 メッセージが送信キューから出て、メッセージが宛先コンピューターで受信されたことを示す受信確認が受信されると、メッセージのコピーが送信側コンピューターのシステム ジャーナル キューに保持されます。

子要素

要素 Description
msmqTransportSecurity このバインディングのトランスポート セキュリティ設定を指定します。 この要素は MsmqTransportSecurityElement型です。

親要素

要素 Description
<バインディング> カスタム バインドのすべてのバインド機能を定義します。

こちらも参照ください