<netMsmqBinding>
Definieert een binding in de wachtrij die geschikt is voor communicatie tussen machines.
<Configuratie>
<system.serviceModel>
<Bindings>
<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>
Kenmerken en elementen
In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.
Kenmerken
Kenmerk | Beschrijving |
---|---|
closeTimeout |
Een TimeSpan waarde die het tijdsinterval aangeeft dat is opgegeven voor het voltooien van een bijna-bewerking. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00. |
customDeadLetterQueue |
Een URI die de locatie bevat van de wachtrij met onbestelbare berichten per toepassing, waar berichten worden geplaatst die zijn verlopen of die zijn mislukt voor overdracht of bezorging. De wachtrij met onbestelbare berichten is een wachtrij in de wachtrijbeheerder van de verzendende toepassing voor verlopen berichten die niet zijn bezorgd. De URI die is opgegeven door CustomDeadLetterQueue moet het net.msmq-schema gebruiken. |
deadLetterQueue |
Een DeadLetterQueue waarde die aangeeft welk type wachtrij met onbestelbare berichten moet worden gebruikt, indien van toepassing. Een wachtrij met onbestelbare berichten is de plaats waar berichten die niet bij de toepassing zijn bezorgd, worden overgedragen. Voor berichten waarvoor zekerheid is vereist exactlyOnce (dat wil dat het exactlyOnce kenmerk is ingesteld op true ), wordt dit kenmerk standaard ingesteld op de systeembrede transactionele wachtrij voor onbestelbare brieven in MSMQ.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 een crash van wachtrijbeheer, terwijl een vluchtig bericht dat niet doet. Vluchtige berichten zijn handig wanneer toepassingen een lagere latentie vereisen en af en toe 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 geleverd. De afzender wordt vervolgens op de hoogte gesteld van leveringsfouten. Wanneer durable is false , wordt dit kenmerk genegeerd en worden berichten overgedragen zonder bezorgingsgarantie. De standaardwaarde is true . Voor meer informatie raadpleegt u ExactlyOnce. |
maxBufferPoolSize |
Een geheel getal dat de maximale grootte van de buffergroep 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 verwijdert het bericht en maakt een vermelding van de gebeurtenis in het traceringslogboek. De standaardwaarde is 65536. Deze afhankelijke berichtgrootte is bedoeld om de blootstelling aan DoS-aanvallen (Denial of Service) te beperken. |
maxRetryCycles |
Een geheel getal dat het aantal cycli voor opnieuw proberen aangeeft dat wordt gebruikt door de functie voor detectie van gifberichten. Een bericht wordt een gifbericht wanneer het alle bezorgingspogingen van alle cycli mislukt. De standaardwaarde is 3. Voor meer informatie raadpleegt u MaxRetryCycles. |
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 gedrag 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 is opgegeven voor het voltooien van een open bewerking. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:01:00. |
QueueTransferProtocol |
Een geldige QueueTransferProtocol waarde die 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 niet instellen op Srmp of wanneer het useActiveDirectory kenmerk is ingesteld op true Srmps . |
receiveErrorHandling |
Een ReceiveErrorHandling waarde die aangeeft hoe gif- en niet-verzendbare 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 is opgegeven voor het voltooien van een ontvangstbewerking. Deze waarde moet groter zijn dan of gelijk zijn aan Zero. De standaardwaarde is 00:10:00. |
retryCycleDelay |
Een TimeSpan-waarde die de tijdsvertraging tussen cycli van nieuwe pogingen aangeeft bij het bezorgen van een bericht dat niet onmiddellijk kon worden bezorgd. De waarde definieert alleen de minimale wachttijd, omdat de werkelijke wachttijd langer kan zijn. De standaardwaarde is 00:10:00. Voor meer informatie raadpleegt u RetryCycleDelay. |
sendTimeout |
Een TimeSpan waarde die het tijdsinterval aangeeft dat is opgegeven voor het voltooien van een verzendbewerking. Deze waarde moet groter zijn 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 en in de wachtrij met onbestelbare berichten 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 binnen het opgegeven tijdsinterval door de ontvangende toepassing wordt gebruikt, is verlopen. Verlopen berichten worden verzonden naar een speciale wachtrij, de wachtrij met onbestelbare berichten. De locatie van de wachtrij met onbestelbare berichten 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 behulp van 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 zet MSMQ de computernaam om met behulp van Active Directory. Standaard converteert WCF-transport (Windows Communication Foundation) in de wachtrij 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 op een Message Queuing-computer aankomt. |
useSourceJournal |
Een Booleaanse waarde die kopieën aangeeft van berichten die door deze binding worden verwerkt, moeten worden opgeslagen in het bronlogboek. De standaardwaarde is false .Toepassingen in de wachtrij die berichten willen bijhouden die de uitgaande wachtrij van de computer hebben verlaten, kunnen de berichten kopiëren naar een logboekwachtrij. Zodra een bericht de uitgaande wachtrij verlaat en een bevestiging wordt ontvangen dat het bericht is ontvangen op de doelcomputer, wordt een kopie van het bericht opgeslagen in de systeemlogboekwachtrij van de verzendende computer. |
Onderliggende elementen
Element | Beschrijving |
---|---|
<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
Element | Beschrijving |
---|---|
<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, herverdeling van belasting en niet-verbonden bewerkingen. Zie Wachtrijen in WCF voor een bespreking van deze functies.
Voorbeeld
<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>