Sdílet prostřednictvím


<Netmsmqbinding>

Definuje vazbu ve frontě, která je vhodná pro komunikaci mezi počítači.

<Konfigurace>
  <System.servicemodel>
    <Vazby>
      <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>

Atributy a elementy

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Atribut Popis
closeTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace uzavření. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:01:00.
customDeadLetterQueue Identifikátor URI, který obsahuje umístění fronty nedoručených zpráv pro jednotlivé aplikace, kam jsou umístěny zprávy, jejichž platnost vypršela nebo u kterých došlo k selhání přenosu nebo doručení.

Fronta nedoručených zpráv je fronta ve správci front odesílající aplikace pro zprávy s vypršenou platností, které se nepodařilo doručit.

Identifikátor URI určený nástrojem CustomDeadLetterQueue musí používat schéma net.msmq.
deadLetterQueue Hodnota DeadLetterQueue určující, jaký typ fronty nedoručených zpráv se má použít, pokud existuje.

Fronta nedoručených zpráv je místo, kam se budou přenášet zprávy, které se nepodařilo doručit do aplikace.

U zpráv, které vyžadují exactlyOnce záruku exactlyOnce (to znamená, že atribut je nastavený na true), tento atribut ve výchozím nastavení nastaví frontu nedoručených zpráv v rámci celého systému v MSMQ.

U zpráv, které nevyžadují žádné záruky, má tento atribut výchozí hodnotu null.
durable Logická hodnota, která označuje, zda je zpráva ve frontě trvalá nebo nestálou. Trvalá zpráva přežije chybové ukončení správce front, zatímco volatilní zpráva ne. Nestálé zprávy jsou užitečné, když aplikace vyžadují nižší latenci a můžou tolerovat občasné ztráty zpráv. exactlyOnce Pokud je atribut nastavený na true, zprávy musí být odolné. Výchozí formát je true.
exactlyOnce Logická hodnota, která označuje, zda se každá zpráva zpracovávaná touto vazbou doručí pouze jednou. Odesílatel pak bude upozorněn na selhání doručení. Pokud durable je false, tento atribut se ignoruje a zprávy se přenesou bez zajištění doručení. Výchozí formát je true. Další informace naleznete v tématu ExactlyOnce.
maxBufferPoolSize Celé číslo, které určuje maximální velikost fondu vyrovnávacích pamětí pro tuto vazbu. Výchozí hodnota je 8.
maxReceivedMessageSize Kladné celé číslo, které definuje maximální velikost zprávy v bajtech, včetně hlaviček, která je zpracována touto vazbou. Odesílatel zprávy překračující tento limit obdrží chybu PROTOKOLU SOAP. Příjemce zprávu zahodí a vytvoří záznam události v protokolu trasování. Výchozí hodnota je 65536. Tato vázaná na velikost zpráv má omezit vystavení útokům DoS (DoS).
maxRetryCycles Celé číslo, které označuje počet cyklů opakování používaných funkcí detekce otrávných zpráv. Zpráva se stane otrávenou zprávou, když selže ve všech pokusech o doručení všech cyklů. Výchozí hodnota je 3. Další informace naleznete v tématu MaxRetryCycles.
name Požadovaný atribut. Řetězec, který obsahuje konfigurační název vazby. Tato hodnota by měla být jedinečná, protože se používá jako identifikace vazby. Počínaje rozhraním .NET Framework 4 není nutné, aby vazby a chování měly název. Další informace o výchozí konfiguraci a beznázvových vazbách a chování najdete v tématu Zjednodušená konfigurace a zjednodušená konfigurace pro služby WCF.
openTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace otevření. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:01:00.
QueueTransferProtocol Platná QueueTransferProtocol hodnota, která určuje přenos komunikačního kanálu ve frontě, který tato vazba používá. MSMQ nepodporuje adresování služby Active Directory při použití protokolu SOAP Reliable Messaging Protocol. Proto byste neměli nastavit tento atribut na Srmp nebo Srmps pokud useActiveDirectory je atribut nastaven na truehodnotu .
receiveErrorHandling Hodnota ReceiveErrorHandling , která určuje způsob zpracování zpráv o jedu a nedispatchovatelných zprávách.
receiveRetryCount Celé číslo, které určuje maximální počet pokusů správce front o odeslání zprávy před jejím přenosem do fronty opakování.
receiveTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace příjmu. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:10:00.
retryCycleDelay Hodnota TimeSpan, která určuje časové zpoždění mezi cykly opakování při pokusu o doručení zprávy, která nemohla být doručena okamžitě. Hodnota definuje pouze minimální dobu čekání, protože skutečná doba čekání může být delší. Výchozí hodnota je 00:10:00. Další informace naleznete v tématu RetryCycleDelay.
sendTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace odeslání. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:01:00.
timeToLive Hodnota TimeSpan, která určuje, jak dlouho jsou zprávy platné před jejich vypršením a vložení do fronty nedoručených zpráv. Výchozí hodnota je 1.00:00:00.

Tento atribut je nastavený tak, aby se zajistilo, že časově citlivé zprávy nebudou zastaralé před zpracováním přijímajícími aplikacemi. Zpráva ve frontě, která není spotřebována přijímající aplikací v zadaném časovém intervalu, je označena jako vypršela. Zprávy s prošlou platností se odesílají do zvláštní fronty označované jako fronta nedoručených zpráv. Umístění fronty nedoručených zpráv je nastaveno pomocí atributu DeadLetterQueue nebo příslušného výchozího nastavení na základě záruk.
usingActiveDirectory Logická hodnota, která určuje, jestli mají být adresy front převedeny pomocí služby Active Directory.

Adresy front MSMQ se můžou skládat z názvů cest nebo názvů přímého formátu. S názvem přímého formátu přeloží MSMQ název počítače pomocí DNS, NetBIOS nebo IP adresy. MsMQ s názvem cesty přeloží název počítače pomocí služby Active Directory.

Ve výchozím nastavení přenos windows communication foundation (WCF) ve frontě převede identifikátor URI fronty zpráv na název přímého formátu. Nastavením UseActiveDirectory vlastnosti na true může aplikace určit, že přenos ve frontě by měl přeložit název počítače pomocí služby Active Directory místo DNS, NetBIOS nebo IP adresy.
useMsmqTracing Logická hodnota, která určuje, zda zprávy zpracované touto vazbou mají být trasovány. Výchozí formát je false. Pokud je trasování povoleno, zprávy sestavy jsou vytvořeny a odesílány do fronty sestav pokaždé, když zpráva opustí nebo dorazí do počítače služby Řízení front zpráv.
useSourceJournal Logická hodnota, která určuje kopie zpráv zpracovaných touto vazbou, by měla být uložena ve zdrojovém deníku. Výchozí formát je false.

Aplikace ve frontě, které chtějí uchovávat záznamy zpráv, které opustily odchozí frontu počítače, můžou zprávy zkopírovat do fronty deníku. Jakmile zpráva opustí frontu odchozích zpráv a je přijato potvrzení, že zpráva byla přijata do cílového počítače, je kopie zprávy uložena ve frontě systémového deníku odesílajícího počítače.

Podřízené elementy

Element Popis
<readerQuotas> Definuje omezení složitosti zpráv SOAP, které mohou být zpracovány koncovými body nakonfigurovanými pomocí této vazby. Tento prvek je typu XmlDictionaryReaderQuotasElement.
<Zabezpečení> Definuje nastavení zabezpečení pro vazbu. Tento prvek je typu NetMsmqSecurityElement.

Nadřazené elementy

Element Popis
<Vazby> Tento prvek obsahuje kolekci standardních a vlastních vazeb.

Poznámky

Vazba netMsmqBinding poskytuje podporu pro řazení do front pomocí služby Microsoft Message Queuing (MSMQ) jako přenosu a umožňuje podporu pro volně propojené aplikace, izolaci selhání, vyrovnávání zatížení a odpojené operace. Informace o těchto funkcích najdete v tématu Fronty ve WCF.

Příklad

<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>

Viz také