<netMsmqBinding><netMsmqBinding>

複数コンピューターの通信に適しているキューに置かれたバインディングを定義します。Defines a queued binding suitable for cross-machine communication.

<system.ServiceModel ><system.ServiceModel>
<bindings><bindings>
<netMsmqBinding><netMsmqBinding>

構文Syntax

<netMsmqBinding>
  <binding closeTimeout="TimeSpan"
           customDeadLetterQueue="Uri"
           deadLetterQueue="Uri"
           durable="Boolean"
           exactlyOnce="Boolean"
           maxBufferPoolSize="Integer"
           maxReceivedMessageSize="Integer"
           maxRetryCycles="Integer"
           name="String"
           openTimeout="TimeSpan"
           poisonMessageHandling="Disabled/EnabledIfSupported"
           queueTransferProtocol="Native/Srmp/SrmpSecure"
           receiveErrorHandling="Drop/Fault/Move/Reject"
           receiveTimeout="TimeSpan"
           receiveRetryCount="Integer"
           rejectAfterLastRetry="Boolean"
           retryCycleDelay="TimeSpan"
           sendTimeout="TimeSpan"
           timeToLive="TimeSpan"
           useActiveDirectory="Boolean"
           useMsmqTracing="Boolean"
           useSourceJournal="Boolean">
    <security>
      <message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
               clientCredentialType="None/Windows/UserName/Certificate/InfoCard" />
      <transport msmqAuthenticationMode="None/WindowsDomain/Certificate"
                 msmqEncryptionAlgorithm="RC4Stream/AES"
                 msmqProtectionLevel="None/Sign/EncryptAndSign"
                 msmqSecureHashAlgorithm="MD5/SHA1/SHA256/SHA512" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</netMsmqBinding>

属性および要素Attributes and Elements

以降のセクションでは、属性、子要素、および親要素について説明します。The following sections describe attributes, child elements, and parent elements.

属性Attributes

属性Attribute 説明Description
closeTimeout クローズ操作が完了するまでの期間を指定する TimeSpan 値。A TimeSpan value that specifies the interval of time provided for a close operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:01:00 です。The default is 00:01:00.
customDeadLetterQueue アプリケーションごとの配信不能キューの場所が含まれている URI です。ここには、期限切れのメッセージや、転送または配信に失敗したメッセージが配置されます。A URI that contains the location of the per-application dead letter queue, where messages that have expired or that have failed transfer or delivery are placed.

配信不能キューは、送信元アプリケーションのキュー マネージャーにある、配信に失敗した期限切れメッセージのキューです。The dead letter queue is a queue on the queue manager of the sending application for expired messages that have failed to be delivered.

CustomDeadLetterQueue によって指定される URI は、net.msmq スキームを使用する必要があります。The URI that is specified by CustomDeadLetterQueue must use the net.msmq scheme.
deadLetterQueue 使用する配信不能キューがある場合にその種類を指定する DeadLetterQueue 値。A DeadLetterQueue value specifying which type of dead-letter queue to use, if any.

配信不能キューは、アプリケーションへの配信に失敗したメッセージが転送される場所です。A dead-letter queue is the place where messages that have failed to be delivered to the application will be transferred.

exactlyOnce 保証が必要なメッセージ (つまり、exactlyOnce 属性が true に設定される) の場合、この属性は、既定で MSMQ のトランザクション システム全体の配信不能キューになります。For messages that require exactlyOnce assurance (that is, the exactlyOnce attribute is set to true), this attribute defaults to the system-wide transactional dead-letter queue in MSMQ.

保証が必要ないメッセージの場合、この属性の既定値は null です。For messages that require no assurances, this attribute defaults to null.
durable メッセージがキューで非揮発性か揮発性かを示すブール値です。A Boolean value that indicates whether the message is durable or volatile in the queue. 非揮発性メッセージは、キュー マネージャーがクラッシュしても残り、揮発性メッセージは失われます。A durable message survives a queue manager crash, while a volatile message does not. アプリケーションで待ち時間の短縮が要求され、場合によってはメッセージが失われてもかまわない場合は、揮発性メッセージが適しています。Volatile messages are useful when applications require lower latency and can tolerate occasional lost messages. exactlyOnce 属性が true に設定されている場合、メッセージは永続的にする必要があります。If the exactlyOnce attribute is set to true, the messages must be durable. 既定値は、true です。The default is true.
exactlyOnce このバインディングで処理される各メッセージが 1 回だけ受信されるかどうかを示すブール値です。A Boolean value that indicates whether each message processed by this binding is delivered only once. その後、送信側に配信エラーが通知されます。The sender will then be notified of delivery failures. durablefalse の場合、この属性は無視されて、配信が保証されずにメッセージが転送されます。When durable is false, this attribute is ignored and messages are transferred without delivery assurance. 既定値は、true です。The default is true. 詳細については、「ExactlyOnce」を参照してください。For more information, see ExactlyOnce.
maxBufferPoolSize このバインディングに使用するバッファー プール サイズの上限を指定する整数。An integer that specifies the maximum buffer pool size for this binding. 既定値は 8 です。The default is 8.
maxReceivedMessageSize このバインディングにより処理される最大メッセージ サイズ (ヘッダーを含む) をバイト単位で定義する正の整数です。A positive integer that defines the maximum message size, in bytes, including headers, that is processed by this binding. この制限を超えるメッセージの送信者が、SOAP エラーを受信します。The sender of a message exceeding this limit will receive a SOAP fault. メッセージは受信者によって破棄され、トレース ログにこのイベントのエントリが作成されます。The receiver drops the message and creates an entry of the event in the trace log. 既定値は 65536 です。The default is 65536. このメッセージ サイズの制限は、サービス拒否 (DoS) 攻撃への露出を制限するためのものです。This bound on message size is intended to limit exposure to Denial of Service (DoS) attacks.
maxRetryCycles 有害メッセージ検出機能により使用される再試行サイクルの回数を示す整数です。An integer that indicates the number of retry cycles used by the poison-message detection feature. すべてのサイクルの配信試行にすべて失敗すると、メッセージは有害メッセージになります。A message becomes a poison message when it fails all delivery attempts of all cycles. 既定値は 3 です。The default is 3. 詳細については、「MaxRetryCycles」を参照してください。For more information, see MaxRetryCycles.
name 必須の属性です。Required attribute. バインディングの構成名を格納する文字列です。A string that contains the configuration name of the binding. この値は、バインディングの ID として使用されるため、一意にする必要があります。This value should be unique because it is used as an identification for the binding. .NET Framework 4.NET Framework 4 以降では、バインディングおよび動作に名前を付ける必要はありません。Starting with .NET Framework 4.NET Framework 4, bindings and behaviors are not required to have a name. 既定の構成と無名のバインディングおよび動作の詳細については、「簡略化された構成」と「WCF サービスの構成を簡略化」を参照してください。For more information about default configuration and nameless bindings and behaviors, see Simplified Configuration and Simplified Configuration for WCF Services.
openTimeout 実行中の操作が完了するまでの時間間隔を指定する TimeSpan 値です。A TimeSpan value that specifies the interval of time provided for an open operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:01:00 です。The default is 00:01:00.
QueueTransferProtocol このバインディングが使用するキューに置かれた通信チャネルのトランスポートを指定する有効な QueueTransferProtocol 値。A valid QueueTransferProtocol value that specifies the queued communication channel transport that this binding uses. MSMQ は、SOAP リライアブル メッセージ プロトコルを使用する場合は Active Directory アドレス指定をサポートしません。MSMQ does not support Active Directory addressing when using SOAP Reliable Messaging Protocol. この属性を設定するはいないため、SrmpまたはSrmpsときに、useActiveDirectory属性に設定されてtrueします。Therefore, you should not set this attribute to Srmp or Srmps when the useActiveDirectory attribute is set to true.
receiveErrorHandling 有害メッセージおよびディスパッチ不能メッセージの処理方法を指定する ReceiveErrorHandling 値。A ReceiveErrorHandling value that specifies how poison and nondispatchable messages are handled.
receiveRetryCount キュー マネージャーがメッセージを再試行キューに転送する前にメッセージ送信を試行する最大回数を指定する整数。An integer that specifies the maximum number of times the queue manager should attempt to send a message before transferring it to the retry queue.
receiveTimeout 受信操作が完了するまでの時間間隔を指定する TimeSpan 値です。A TimeSpan value that specifies the interval of time provided for a receive operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:10:00 です。The default is 00:10:00.
retryCycleDelay すぐに配信できなかったメッセージを配信しようとするときの、再試行サイクルの時間遅延を指定する TimeSpan 値です。A TimeSpan value that specifies the time delay between retry cycles when attempting to deliver a message that could not be delivered immediately. 実際の待機時間はさらに長くなる場合があるため、この値で定義されるのは最小待機時間だけです。The value defines only the minimum wait time because actual wait time can be longer. 既定値は、00:10:00 です。The default value is 00:10:00. 詳細については、「RetryCycleDelay」を参照してください。For more information, see RetryCycleDelay.
sendTimeout 送信操作が完了するまでの時間間隔を指定する TimeSpan 値です。A TimeSpan value that specifies the interval of time provided for a send operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:01:00 です。The default is 00:01:00.
timeToLive メッセージの期限が切れて、配信不能キューに入れられるまでのメッセージの有効期間を指定する TimeSpan 値です。A TimeSpan value that specifies how long the messages are valid before they are expired and put into the dead-letter queue. 既定値は 1.00:00:00 です。The default is 1.00:00:00.

この属性を設定すると、タイムリーなメッセージが受信側アプリケーションで処理される前に古くなることがなくなります。This attribute is set to ensure that time-sensitive messages do not become stale before they are processed by the receiving applications. キュー内のメッセージのうち、指定された期間内に受信アプリケーションで処理されなかったメッセージは、期限切れと呼ばれます。A message in a queue that is not consumed by the receiving application within the time interval specified is said to be expired. 期限切れのメッセージは、配信不能キューと呼ばれる特別なキューに送信されます。Expired messages are sent to special queue called the dead letter queue. 配信不能キューの場所は、保証の内容に基づいて、DeadLetterQueue 属性を使用して設定されるか、適切な既定値に設定されます。The location of the dead letter queue is set with the DeadLetterQueue attribute or to the appropriate default, based on assurances.
usingActiveDirectory キューのアドレスを Active Directory を使用して変換する必要があるかどうかを指定するブール値。A Boolean value that specifies if queue addresses should be converted using Active Directory.

MSMQ キューのアドレスは、パス名または直接形式名で構成できます。MSMQ queue addresses can consist of path names or direct format names. 直接形式名を使用する場合、MSMQ は、DNS、NetBIOS、または IP を使用してコンピューター名を解決します。With a direct format name, MSMQ resolves the computer name using DNS, NetBIOS or IP. パス名を使用する場合、MSMQ は、Active Directory を使用してコンピューター名を解決します。With a path name, MSMQ resolves the computer name using Active Directory.

既定では、Windows Communication Foundation (WCF) には、トランスポートに変換を直接形式名に、メッセージ キューの URI がキューに登録します。By default, Windows Communication Foundation (WCF) queued transport converts the URI of a message queue to a direct format name. UseActiveDirectory プロパティを true に設定すると、キューに置かれているトランスポートが DNS、NetBIOS、または IP ではなく Active Directory を使用してコンピューター名を解決する必要があることを、アプリケーションで指定できます。By setting the UseActiveDirectory property to true, an application can specify that the queued transport should resolve the computer name using Active Directory rather than DNS, NetBIOS, or IP.
useMsmqTracing このバインディングにより処理されるメッセージをトレースするかどうかを指定するブール値です。A Boolean value that specifies whether messages processed by this binding should be traced. 既定値は、false です。The default is false. トレースが有効な場合、メッセージ キュー コンピューターでメッセージが送受信されるたびに、レポート メッセージが作成され、レポート キューに送信されます。When tracing is enabled, report messages are created and sent to the report queue each time the message leaves or arrives at a Message Queuing computer.
useSourceJournal このバインディングにより処理されるメッセージのコピーをソース ジャーナルに保存するかどうかを指定するブール値です。A Boolean value that specifies copies of messages processed by this binding should be stored in the source journal. 既定値は、false です。The default is false.

キューに置かれたアプリケーションでは、コンピューターの発信キューから送信されたメッセージの記録を残す場合は、メッセージをジャーナル キューにコピーできます。Queued applications that want to keep a record of messages that have left the computer's outgoing queue can copy the messages to a journal queue. メッセージが発信キューから送信され、送信先のコンピューターで受信されたという応答を受け取ると、メッセージのコピーが送信元のコンピューターのシステム ジャーナル キューに保持されます。Once a message leaves the outgoing queue and an acknowledgment is received that the message was received on the destination computer, a copy of the message is kept in the sending computer's system journal queue.

子要素Child Elements

要素Element 説明Description
<readerQuotas><readerQuotas> このバインドを使用して設定されるエンドポイントにより処理可能な、SOAP メッセージの複雑さに対する制約を定義します。Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. この要素は XmlDictionaryReaderQuotasElement 型です。This element is of type XmlDictionaryReaderQuotasElement.
<security><security> バインディングのセキュリティ設定を定義します。Defines the security settings for the binding. この要素は NetMsmqSecurityElement 型です。This element is of type NetMsmqSecurityElement.

親要素Parent Elements

要素Element 説明Description
<bindings><bindings> この要素には、標準バインディングおよびカスタム バインドのコレクションが保持されます。This element holds a collection of standard and custom bindings.

RemarksRemarks

netMsmqBinding バインディングは、Microsoft Message Queuing (MSMQ) をトランスポートとして使用したキューのサポートを提供し、疎結合アプリケーション、失敗の切り分け、読み込みの均一化、および切断操作のサポートを有効にします。The netMsmqBinding binding provides support for queuing by leveraging Microsoft Message Queuing (MSMQ) as a transport and enables support for loosely coupled applications, failure isolation, load leveling and disconnected operations. これらの機能の詳細については、次を参照してください。 WCF のキューします。For a discussion of these features, see Queues in WCF.

Example

<configuration>
  <system.ServiceModel>
    <bindings>
      <netMsmqBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 deadLetterQueue="net.msmq://localhost/blah"
                 durable="true"
                 exactlyOnce="true"
                 maxReceivedMessageSize="1000"
                 maxRetries="11"
                 maxRetryCycles="12"
                 poisonMessageHandling="Disabled"
                 rejectAfterLastRetry="false"
                 retryCycleDelay="00:05:55"
                 timeToLive="00:11:11"
                 sourceJournal="true"
                 useMsmqTracing="true"
                 useActiveDirectory="true">
          <security>
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netMsmqBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

関連項目See also