Sdílet prostřednictvím


<msmqTransport>

Způsobí, že kanál přenese zprávy v přenosu MSMQ, pokud je součástí vlastní vazby.

<Konfigurace>
  <System.servicemodel>
    <Vazby>
      <vlastní vazby>
        <Vazba>
          <msmqTransport>

Syntax

<msmqTransport customDeadLetterQueue="Uri"
               deadLetterQueue="Custom/None/System"
               durable="Boolean"
               exactlyOnce="Boolean"
               manualAddressing="Boolean"
               maxBufferPoolSize="Integer"
               maxImmediateRetries="Integer"
               maxPoolSize="Integer"
               maxReceivedMessageSize="Integer"
               maxRetryCycles="Integer"
               queueTransferProtocol="Native/Srmp/SrmpSecure"
               rejectAfterLastRetry="Boolean"
               retryCycleDelay="TimeSpan"
               timeToLive="TimeSpan"
               useActiveDirectory="Boolean"
               useSourceJournal="Boolean"
               useMsmqTracing="Boolean"
               ...>
  <msmqTransportSecurity>
  </msmqTransportSecurity>
</msmqTransport>

Atributy a elementy

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

Atributy

Atribut Popis
vlastníDeadLetterQueue Identifikátor URI, který označuje umístění fronty nedoručených zpráv pro jednotlivé aplikace, kam se přenesou zprávy, jejichž platnost vypršela nebo se nepodařilo doručit do aplikace.

Pro zprávy, které vyžadují záruky ExactlyOnce (tj. exactlyOnce je nastavena na true), je tento atribut výchozí pro frontu nedoručených zpráv v rámci celého systému v MSMQ.

Pro zprávy, které nevyžadují žádné záruky (to znamená, exactlyOnce že je nastavená na false), je tento atribut ve výchozím nastavení nastavený na null.

Hodnota musí používat schéma net.msmq. Výchozí formát je null.

Pokud deadLetterQueue je nastavená hodnota nebo NoneSystem, musí být tento atribut nastaven na nullhodnotu . Pokud tento atribut není null, deadLetterQueue musí být nastavený na Custom.
Deadletterqueue Určuje typ fronty nedoručených zpráv, která se má použít.

Mezi platné hodnoty patří:

– Vlastní: Vlastní fronta mrtvých zpráv.
– Žádné: Nebude použita žádná fronta deadletterů.
- Systém: Použijte systémovou frontu mrtvých zpráv.

Tento atribut je typu DeadLetterQueue.
Trvanlivé Logická hodnota, která určuje, zda zprávy zpracovávané touto vazbou jsou trvalé nebo nestálé. Výchozí formát je true.

Odolná zpráva přežije chybové ukončení správce fronty, zatímco nestálá 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.

Pokud exactlyOnce je nastavená hodnota true, musí být zprávy odolné.
Exactlyonce Logická hodnota, která určuje, jestli zprávy zpracované touto vazbou budou přijaty přesně jednou. Výchozí formát je true.

Zpráva může být odeslána s zárukami nebo bez. Záruka umožňuje aplikaci zajistit, že odeslaná zpráva dorazila do fronty přijímajících zpráv, nebo pokud ne, aplikace to může zjistit čtením fronty nedoručených zpráv.

exactlyOnce, pokud je nastavená na truehodnotu , znamená to, že služba MSMQ zajistí, že se odeslaná zpráva doručí do fronty přijímajících zpráv pouze jednou a pouze jednou. Pokud se doručení nezdaří, odešle se zpráva do fronty nedoručených zpráv.

Zprávy odeslané nastavením exactlyOnce na true musí být odeslány pouze do transakční fronty.
ruční adresování Logická hodnota, která uživateli umožňuje převzít kontrolu nad adresování zpráv. Tato vlastnost se obvykle používá ve scénářích směrovačů, kdy aplikace určí, na který z několika cílů se má zpráva odeslat.

Pokud je nastavená na true, kanál předpokládá, že zpráva už byla vyřešena, a nepřidá k ní žádné další informace. Uživatel pak může adresovat každou zprávu zvlášť.

Pokud je nastavená hodnota false, výchozí mechanismus adresování WCF (Windows Communication Foundation) automaticky vytvoří adresy pro všechny zprávy.

Výchozí formát je false.
Maxbufferpoolsize Kladné celé číslo, které určuje maximální velikost fondu vyrovnávacích pamětí. Výchozí hodnota je 524288.

Mnoho částí WCF používá vyrovnávací paměti. Vytváření a ničení vyrovnávacích pamětí při každém jejich použití je nákladné a uvolňování paměti pro vyrovnávací paměti je také nákladné. Pomocí fondů vyrovnávacích pamětí můžete z fondu vzít vyrovnávací paměť, použít ji a po dokončení ji vrátit do fondu. Tím se vyhnete režijní režii při vytváření a ničení vyrovnávacích pamětí.
maxImmediateRetries Celé číslo, které určuje maximální počet okamžitých opakovaných pokusů o zprávu, která je načtena z fronty aplikace. Výchozí hodnota je 5.

Pokud dojde k pokusu o maximální počet okamžitých opakování zprávy a aplikace zprávu nespotřebuje, odešle se zpráva do fronty opakování k opakování v určitém časovém okamžiku. Pokud nejsou zadány žádné cykly opakování, jsou zprávy buď odeslány do fronty zpráv s jedem, nebo je odesílateli odesláno záporné potvrzení.
maxPoolSize Kladné celé číslo, které určuje maximální velikost fondu. Výchozí hodnota je 524288.
Maxreceivedmessagesize Kladné celé číslo, které určuje maximální velikost zprávy v bajtech včetně záhlaví. Odesílatel zprávy obdrží chybu SOAP, pokud je zpráva pro příjemce příliš velká. Příjemce zprávu zahodí a vytvoří záznam události v protokolu trasování. Výchozí hodnota je 65536.
maxRetryCycles Celé číslo, které určuje maximální počet cyklů opakování pokusu o doručení zpráv do přijímající aplikace. Výchozí formát je MaxValue.

Jeden cyklus opakování se pokusí doručit zprávu do aplikace zadaným počtem pokusů. Počet provedených pokusů je nastaven atributem .maxImmediateRetries Pokud aplikace zprávu po vyčerpání pokusů o doručení nespotřebuje, zpráva se odešle do fronty opakování. Následné cykly opakování se skládají ze zprávy, která se vrátí z fronty opakování do fronty aplikace, aby se po uplynutí zpoždění určeného retryCycleDelay atributem pokusila aplikaci doručit znovu. Atribut maxRetryCycles určuje počet cyklů opakování, které aplikace používá k pokusu o doručení zprávy.
frontaTransferProtocol Určuje přenos komunikačního kanálu ve frontě, který tato vazba používá. Platné hodnoty jsou:

– Nativní: Použijte nativní protokol MSMQ.
- Srmp: Použijte protokol SRMP (Soap Reliable Messaging Protocol).
– SrmpSecure: Použijte přenos protokolu SRMPS (Soap Reliable Messaging Protocol Secure).

Tento atribut je typu QueueTransferProtocol.

Vzhledem k tomu, že služba MSMQ nepodporuje adresování služby Active Directory při použití protokolu SOAP Reliable Messaging Protocol, neměli byste tento atribut nastavit na Srmp nebo Srmps, pokud useActiveDirectory je nastavena na truehodnotu .
rejectAfterLastRetry Logická hodnota, která určuje, jaká akce se má provést u zprávy, u které se nepodařilo doručit po maximálním počtu pokusů o opakování.

true znamená, že odesílateli je vráceno záporné potvrzení a zpráva je zahozena; false znamená, že zpráva je odeslána do fronty zpráv s jedem. Výchozí formát je false.

Pokud je falsehodnota , přijímající aplikace může číst frontu zpráv s jedem a zpracovávat jedovaté zprávy (to znamená zprávy, u kterých se doručení nezdařilo).

MsMQ 3.0 nepodporuje vrácení záporného potvrzení odesílateli, takže tento atribut bude ignorován v MSMQ 3.0.
retryCycleDelay A TimeSpan určující časové zpoždění mezi cykly opakování při pokusu o doručení zprávy, která nemohla být doručena okamžitě. Výchozí hodnota je 00:10:00.

Jeden cyklus opakování se pokusí doručit zprávu do přijímající aplikace zadaným počtem pokusů. Počet provedených pokusů je určen atributem maxImmediateRetries . Pokud aplikace zprávu po zadaném počtu okamžitých opakování nespotřebuje, zpráva se odešle do fronty opakování. Následné cykly opakování se skládají ze zprávy, která se vrátí z fronty opakování do fronty aplikace, aby se po uplynutí zpoždění určeného retryCycleDelay atributem pokusila aplikaci doručit znovu. Počet cyklů opakování je určen atributem maxRetryCycles .
timeToLive A TimeSpan , který určuje, jak dlouho jsou zprávy platné před vypršením jejich platnosti a jsou vloženy do fronty nedoručených zpráv. Výchozí hodnota je 1.00:00:00, což znamená 1 den.

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 customDeadLetterQueue nebo příslušného výchozího nastavení na základě záruk.
PoužítActiveDirectory Logická hodnota, která určuje, zda 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 framework (WCF) ve frontě převede identifikátor URI fronty zpráv na název přímého formátu. Nastavením tohoto atributu 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, zda kopie zpráv zpracovaných touto vazbou mají být uloženy ve frontě zdrojového 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
<msmqTransportSecurity> Určuje nastavení zabezpečení přenosu pro tuto vazbu. Tento prvek je typu MsmqTransportSecurityElement.

Nadřazené elementy

Element Popis
<Vazba> Definuje všechny možnosti vazby vlastní vazby.

Poznámky

Element msmqTransport umožňuje uživateli nastavit vlastnosti komunikačního kanálu ve frontě. Komunikační kanál ve frontě používá ke svému přenosu službu Řízení front zpráv.

Tento element vazby je výchozí element vazby používaný standardní vazbou služby Řízení front zpráv (netMsmqBinding).

Viz také