Delen via


<netMsmqBinding>

Definieert een binding in de wachtrij die geschikt is voor communicatie tussen machines.

<configuration>
  <system.serviceModel>
    <bindings>
      <netMsmqBinding>

Syntaxis

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

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.

Attributes

Attribute Description
closeTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat is opgegeven voor een sluitingsbewerking die moet worden voltooid. Deze waarde moet groter dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
customDeadLetterQueue Een URI die de locatie van de wachtrij voor dode brieven per toepassing bevat, waar berichten die zijn verlopen of die een mislukte overdracht of bezorging hebben, worden geplaatst.

De wachtrij voor dode letters is een wachtrij in de wachtrijbeheerder van de verzendende toepassing voor verlopen berichten die niet kunnen worden bezorgd.

De URI die is opgegeven door CustomDeadLetterQueue , moet het net.msmq-schema gebruiken.
deadLetterQueue Een DeadLetterQueue waarde die aangeeft welk type wachtrij met dode letters moet worden gebruikt, indien van toepassing.

Een wachtrij met onbestelbare berichten is de plaats waar berichten die niet aan de toepassing zijn bezorgd, worden overgedragen.

Voor berichten waarvoor zekerheid is vereist exactlyOnce (dat wil gezegd, het exactlyOnce kenmerk is ingesteld op true), wordt dit kenmerk standaard ingesteld op de wachtrij voor transactionele dead-letter in MSMQ voor het hele systeem.

Voor berichten waarvoor geen garanties zijn vereist, wordt dit kenmerk standaard ingesteld op null.
durable Een Booleaanse waarde die aangeeft of het bericht duurzaam of vluchtig is in de wachtrij. Een duurzaam bericht overleeft het vastlopen van een wachtrijbeheerder, terwijl een vluchtig bericht dat niet gebeurt. Vluchtige berichten zijn handig wanneer toepassingen een lagere latentie vereisen en soms verloren berichten kunnen tolereren. Als het exactlyOnce kenmerk is ingesteld op true, moeten de berichten duurzaam zijn. De standaardwaarde is true.
exactlyOnce Een Booleaanse waarde die aangeeft of elk bericht dat door deze binding wordt verwerkt slechts eenmaal wordt bezorgd. De afzender wordt vervolgens op de hoogte gesteld van bezorgingsfouten. Wanneer durable dit is false, wordt dit kenmerk genegeerd en berichten worden overgedragen zonder bezorgingsgarantie. De standaardwaarde is true. Zie ExactlyOnce voor meer informatie.
maxBufferPoolSize Een geheel getal dat de maximale buffergroepgrootte voor deze binding aangeeft. De standaardwaarde is 8.
maxReceivedMessageSize Een positief geheel getal dat de maximale berichtgrootte definieert, in bytes, inclusief kopteksten, die door deze binding wordt verwerkt. De afzender van een bericht dat deze limiet overschrijdt, ontvangt een SOAP-fout. De ontvanger laat het bericht vallen en maakt een vermelding van de gebeurtenis in het traceerlogboek. De standaardwaarde is 65536. Deze limiet voor de berichtgrootte is bedoeld om de blootstelling aan DoS-aanvallen (Denial of Service) te beperken.
maxRetryCycles Een geheel getal dat het aantal nieuwe pogingen aangeeft dat wordt gebruikt door de functie voor detectie van gifberichten. Een bericht wordt een gifbericht wanneer het mislukt alle bezorgingspogingen van alle cycli. De standaardwaarde is 3. Zie MaxRetryCycles voor meer informatie.
name Vereist kenmerk. Een tekenreeks die de configuratienaam van de binding bevat. Deze waarde moet uniek zijn omdat deze wordt gebruikt als identificatie voor de binding. Vanaf .NET Framework 4 hoeven bindingen en gedragingen geen naam te hebben. Zie Vereenvoudigde configuratie en vereenvoudigde configuratie voor WCF-services voor meer informatie over standaardconfiguratie en naamloze bindingen en gedrag.
openTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat een geopende bewerking moet worden voltooid. Deze waarde moet groter dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
QueueTransferProtocol Een geldige QueueTransferProtocol waarde die het transport van het communicatiekanaal in de wachtrij aangeeft dat door deze binding wordt gebruikt. MSMQ biedt geen ondersteuning voor Active Directory-adressering bij het gebruik van SOAP Reliable Messaging Protocol. Daarom moet u dit kenmerk Srmp niet instellen op of Srmps wanneer het useActiveDirectory kenmerk is ingesteld op true.
receiveErrorHandling Een ReceiveErrorHandling waarde die aangeeft hoe gif- en niet-dispatcheerbare berichten worden verwerkt.
receiveRetryCount Een geheel getal dat het maximum aantal keren aangeeft dat de wachtrijbeheerder een bericht moet verzenden voordat het naar de wachtrij voor opnieuw proberen wordt overgebracht.
receiveTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat een ontvangstbewerking moet worden voltooid. Deze waarde moet groter dan of gelijk zijn aan Zero. De standaardwaarde is 00:10:00.
retryCycleDelay Een TimeSpan-waarde die de tijdsvertraging aangeeft tussen cycli voor opnieuw proberen bij het bezorgen van een bericht dat niet onmiddellijk kan worden afgeleverd. De waarde definieert alleen de minimale wachttijd, omdat de werkelijke wachttijd langer kan zijn. De standaardwaarde is 00:10:00. Zie RetryCycleDelay voor meer informatie.
sendTimeout Een TimeSpan waarde die het tijdsinterval aangeeft dat een verzendbewerking moet worden voltooid. Deze waarde moet groter dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00.
timeToLive Een TimeSpan-waarde die aangeeft hoe lang de berichten geldig zijn voordat ze verlopen zijn en in de wachtrij met dode letters worden geplaatst. De standaardwaarde is 1.00:00:00.

Dit kenmerk is ingesteld om ervoor te zorgen dat tijdgevoelige berichten niet verlopen voordat ze worden verwerkt door de ontvangende toepassingen. Een bericht in een wachtrij dat niet wordt gebruikt door de ontvangende toepassing binnen het opgegeven tijdsinterval, wordt gezegd dat deze is verlopen. Verlopen berichten worden verzonden naar een speciale wachtrij, de wachtrij voor dode berichten. De locatie van de wachtrij voor dode brieven wordt ingesteld met het DeadLetterQueue kenmerk of op de juiste standaardwaarde, op basis van garanties.
usingActiveDirectory Een Booleaanse waarde die aangeeft of wachtrijadressen moeten worden geconverteerd met Active Directory.

MSMQ-wachtrijadressen kunnen bestaan uit padnamen of directe indelingsnamen. Met een directe indelingsnaam zet MSMQ de computernaam om met behulp van DNS, NetBIOS of IP. Met een padnaam wordt met MSMQ de computernaam omgezet met behulp van Active Directory.

Standaard converteert het transport in de wachtrij van Windows Communication Foundation (WCF) de URI van een berichtenwachtrij naar een directe indelingsnaam. Door de UseActiveDirectory eigenschap in te stellen op true, kan een toepassing opgeven dat het transport in de wachtrij de computernaam moet oplossen met behulp van Active Directory in plaats van DNS, NetBIOS of IP.
useMsmqTracing Een Booleaanse waarde die aangeeft of berichten die door deze binding worden verwerkt, moeten worden getraceerd. De standaardwaarde is false. Wanneer tracering is ingeschakeld, worden rapportberichten gemaakt en naar de rapportwachtrij verzonden telkens wanneer het bericht vertrekt of op een Message Queuing-computer aankomt.
useSourceJournal Een Booleaanse waarde waarmee kopieën worden opgegeven van berichten die door deze binding worden verwerkt, moeten worden opgeslagen in het bronlogboek. De standaardwaarde is false.

Toepassingen in de wachtrij die een record willen bewaren van berichten die de uitgaande wachtrij van de computer hebben verlaten, kunnen de berichten naar een logboekwachtrij kopiëren. Zodra een bericht de uitgaande wachtrij verlaat en er een bevestiging wordt ontvangen dat het bericht is ontvangen op de doelcomputer, wordt een kopie van het bericht bewaard in de systeemlogboekwachtrij van de verzendende computer.

Kind-elementen

Onderdeel Description
<readerQuotas> Definieert de beperkingen voor de complexiteit van SOAP-berichten die kunnen worden verwerkt door eindpunten die met deze binding zijn geconfigureerd. Dit element is van het type XmlDictionaryReaderQuotasElement.
<veiligheid> Definieert de beveiligingsinstellingen voor de binding. Dit element is van het type NetMsmqSecurityElement.

Bovenliggende elementen

Onderdeel Description
<Bindings> Dit element bevat een verzameling standaard- en aangepaste bindingen.

Opmerkingen

De netMsmqBinding binding biedt ondersteuning voor wachtrijen door gebruik te maken van Microsoft Message Queuing (MSMQ) als transport en biedt ondersteuning voor losjes gekoppelde toepassingen, foutisolatie, taakverdeling en verbroken bewerkingen. Zie Wachtrijen in WCF voor een bespreking van deze functies.

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>

Zie ook