Sdílet prostřednictvím


<msmqIntegrationBinding>

Definuje vazbu, která poskytuje podporu řízení front směrováním zpráv přes MSMQ.

<Konfigurace>
  <System.servicemodel>
    <Vazby>
      <customBinding>
        <Vazba>
          <msmqIntegrationBinding>

Syntax

<msmqIntegrationBinding>
  <binding closeTimeout="TimeSpan"
           customDeadLetterQueue="Uri"
           deadLetterQueue="Uri"
           durable="Boolean"
           exactlyOnce="Boolean"
           maxReceivedMessageSize="Integer"
           maxRetryCycles="Integer"
           name="String"
           openTimeout="TimeSpan"
           receiveContextEnabled="Boolean"
           receiveErrorHandling="Drop/Fault/Move/Reject"
           receiveTimeout="TimeSpan"
           receiveRetryCount="Integer"
           retryCycleDelay="TimeSpan"
           sendTimeout="TimeSpan"
           serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
           timeToLive="TimeSpan"
           useMsmqTracing="Boolean"
           useSourceJournal="Boolean">
  </binding>
</msmqIntegrationBinding>

Atributy a elementy

Následující části popisují atributy, podřízené elementy 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.value určující, jaký typ fronty nedoručených zpráv se má použít, pokud existuje.

Fronta nedoručených zpráv je umístění, kam se přenesou zprávy, které se nepodařilo doručit do aplikace.

Pro zprávy, které vyžadují záruku exactlyOnce přesnéhoonce (tj. atribut je nastaven na true), tento atribut je výchozí pro celou systémovou frontu nedoručených zpráv v MSMQ.

U zpráv, které nevyžadují žádné záruky, má tento atribut výchozí hodnotu null.
Trvanlivé 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, jestli je každá zpráva doručena 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.
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 2. Další informace naleznete v tématu MaxRetryCycles.
name Ř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.
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 okamžitých opakování, o které by se měl správce fronty pokusit, pokud se přenos zprávy z fronty aplikace do aplikace nezdaří.

Pokud je dosaženo maximálního počtu pokusů o doručení a aplikace ke zprávě nepřistupuje, odešle se zpráva do fronty opakování pro opakované opakování později. Doba, po kterou se zpráva přenese zpět do odesílající fronty, je řízena nástrojem retryCycleDelay. Pokud cykly opakování dosáhnou maxRetryCycles hodnoty, zpráva se buď odešle do fronty zpráv o jedu, nebo se odesílateli odešle záporné potvrzení.
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.
receiveContextEnabled Logická hodnota, která určuje, jestli je povolený kontext příjmu pro zpracování zpráv ve frontách. Pokud je tato možnost nastavená na true, služba může "zobrazit" zprávu ve frontě, aby ji mohla začít zpracovávat, a pokud se něco pokazí a dojde k výjimce, zůstane ve frontě. Služby můžou také "zamknout" zprávy, aby se později mohly pokusit o zpracování znovu. ReceiveContext poskytuje mechanismus pro "dokončení" zprávy po zpracování, aby ji bylo možné odebrat z fronty. Zprávy se už nečtou a přepíšou do front po síti a během zpracování se jednotlivé zprávy nepřehazují mezi různými instancemi služby.
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:30: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.
Serializationformat Definuje formát použitý pro serializaci textu zprávy. Tento atribut je typu MsmqMessageSerializationFormat.
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.
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.

{serializationFormat} Atribut

Hodnota Popis
XML Formát XML
Binární Binární formát
ActiveX Formát ActiveX
Bytearray Serializuje objekt na pole bajtů.
Stream Tělo formátované jako datový proud

Podřízené elementy

Element Popis
<Zabezpečení> Definuje nastavení zabezpečení pro vazbu. Tento prvek je typu MsmqIntegrationSecurityElement.

Nadřazené elementy

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

Poznámky

Tento element vazby lze použít k tomu, aby aplikace wcf (Windows Communication Foundation) odesílaly a přijímaly zprávy z existujících aplikací MSMQ, které používají buď rozhraní COM, MSMQ nativní rozhraní API, nebo typy definované v System.Messaging oboru názvů. Tento element konfigurace můžete použít k určení způsobů adresování fronty, záruk přenosu, zda se zprávy musí trvale ukládat. a způsob ochrany a ověřování zpráv. Další informace najdete v tématu Postupy: Výměna zpráv pomocí koncových bodů WCF a aplikací služby Řízení front zpráv.

Příklad

<configuration>
  <system.ServiceModel>
    <bindings>
      <msmqIntegrationBinding>
        <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"
                 maxImmediateRetries="11"
                 maxRetryCycles="12"
                 poisonMessageHandling="Disabled"
                 rejectAfterLastRetry="false"
                 retryCycleDelay="00:05:55"
                 timeToLive="00:11:11"
                 useSourceJournal="true"
                 useMsmqTracing="true"
                 serializationFormat="Binary">
          <security mode="None" />
        </binding>
      </msmqIntegrationBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Viz také