Dela via


<netMsmqBinding>

Definierar en köad bindning som lämpar sig för kommunikation mellan datorer.

<Konfiguration>
  <system.serviceModel>
    <Bindningar>
      <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>

Attribut och element

I följande avsnitt beskrivs attribut, underordnade element och överordnade element.

Attribut

Attribut Beskrivning
closeTimeout Ett TimeSpan värde som anger tidsintervallet för en stängningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
customDeadLetterQueue En URI som innehåller platsen för kön för obeställbara meddelanden per program, där meddelanden som har upphört att gälla eller som har misslyckats med överföring eller leverans placeras.

Kön med obeställbara meddelanden är en kö i köhanteraren för det sändande programmet för utgångna meddelanden som inte har levererats.

Den URI som anges av CustomDeadLetterQueue måste använda net.msmq-schemat.
deadLetterQueue Ett DeadLetterQueue värde som anger vilken typ av obeställd kö som ska användas, om det finns någon.

En kö med obeställbara meddelanden är den plats där meddelanden som inte har levererats till programmet överförs.

För meddelanden som kräver exactlyOnce kontroll (d.v.s exactlyOnce . attributet är inställt på true) använder det här attributet som standard den systemomfattande transaktionella obeställbara kön i MSMQ.

För meddelanden som inte kräver några garantier är det här attributet som standard null.
durable Ett booleskt värde som anger om meddelandet är beständiga eller ej beständiga i kön. Ett hållbart meddelande överlever en köhanterares krasch, medan ett flyktigt meddelande inte gör det. Flyktiga meddelanden är användbara när program kräver kortare svarstider och kan tolerera tillfälliga förlorade meddelanden. Om attributet är inställt på exactlyOncetruemåste meddelandena vara beständiga. Standardvärdet är true.
exactlyOnce Ett booleskt värde som anger om varje meddelande som bearbetas av bindningen endast levereras en gång. Avsändaren meddelas sedan om leveransfel. När durable är falseignoreras det här attributet och meddelanden överförs utan leveranskontroll. Standardvärdet är true. Mer information finns i ExactlyOnce.
maxBufferPoolSize Ett heltal som anger den maximala buffertpoolstorleken för den här bindningen. Standardvärdet är 8.
maxReceivedMessageSize Ett positivt heltal som definierar den maximala meddelandestorleken i byte, inklusive rubriker, som bearbetas av den här bindningen. Avsändaren av ett meddelande som överskrider den här gränsen får ett SOAP-fel. Mottagaren släpper meddelandet och skapar en post för händelsen i spårningsloggen. Standardvärdet är 65536. Den här gränsen för meddelandestorleken är avsedd att begränsa exponeringen för DoS-attacker (Denial of Service).
maxRetryCycles Ett heltal som anger antalet återförsökscykler som används av identifieringsfunktionen för giftmeddelanden. Ett meddelande blir ett giftmeddelande när det misslyckas med alla leveransförsök i alla cykler. Standardvärdet är 3. Mer information finns i MaxRetryCycles.
name Obligatoriskt attribut. En sträng som innehåller bindningens konfigurationsnamn. Det här värdet ska vara unikt eftersom det används som en identifiering för bindningen. Från och med .NET Framework 4 krävs inte bindningar och beteenden för att ha ett namn. Mer information om standardkonfiguration och namnlösa bindningar och beteenden finns i Förenklad konfiguration och förenklad konfiguration för WCF-tjänster.
openTimeout Ett TimeSpan värde som anger tidsintervallet för en öppen åtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
QueueTransferProtocol Ett giltigt QueueTransferProtocol värde som anger den köade kommunikationskanaltransporten som bindningen använder. MSMQ stöder inte Active Directory-adressering när du använder SOAP Reliable Messaging Protocol. Därför bör du inte ange det här attributet till Srmp eller Srmps när useActiveDirectory attributet är inställt på true.
receiveErrorHandling Ett ReceiveErrorHandling värde som anger hur skadliga och icke-anpassningsbara meddelanden hanteras.
receiveRetryCount Ett heltal som anger det maximala antalet gånger som köhanteraren ska försöka skicka ett meddelande innan det överförs till kön för återförsök.
receiveTimeout Ett TimeSpan värde som anger tidsintervallet för en mottagningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:10:00.
retryCycleDelay Ett TimeSpan-värde som anger tidsfördröjningen mellan återförsökscykler när du försöker leverera ett meddelande som inte kunde levereras omedelbart. Värdet definierar endast den minsta väntetiden eftersom den faktiska väntetiden kan vara längre. Standardvärdet är 00:10:00. Mer information finns i RetryCycleDelay.
sendTimeout Ett TimeSpan värde som anger tidsintervallet för en sändningsåtgärd som ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
timeToLive Ett TimeSpan-värde som anger hur länge meddelandena är giltiga innan de har upphört att gälla och placeras i kön med obeställbara meddelanden. Standardvärdet är 1.00:00:00.

Det här attributet är inställt för att säkerställa att tidskänsliga meddelanden inte blir inaktuella innan de bearbetas av de mottagande programmen. Ett meddelande i en kö som inte används av det mottagande programmet inom det angivna tidsintervallet sägs ha upphört att gälla. Utgångna meddelanden skickas till en särskild kö som kallas kö för obeställbara meddelanden. Platsen för kön med obeställbara meddelanden anges med DeadLetterQueue attributet eller till lämplig standard, baserat på försäkringar.
usingActiveDirectory Ett booleskt värde som anger om köadresser ska konverteras med hjälp av Active Directory.

MSMQ-köadresser kan bestå av sökvägsnamn eller namn på direkt format. Med ett direkt formatnamn matchar MSMQ datornamnet med hjälp av DNS, NetBIOS eller IP. Med ett sökvägsnamn löser MSMQ datornamnet med hjälp av Active Directory.

Som standard konverterar WCF-köade transporter URI:n för en meddelandekö till ett direkt formatnamn. Genom att ange UseActiveDirectory egenskapen till true kan ett program ange att den köade transporten ska matcha datornamnet med hjälp av Active Directory i stället för DNS, NetBIOS eller IP.
useMsmqTracing Ett booleskt värde som anger om meddelanden som bearbetas av den här bindningen ska spåras. Standardvärdet är false. När spårning är aktiverat skapas och skickas rapportmeddelanden till rapportkön varje gång meddelandet lämnar eller anländer till en dator med meddelandeköer.
useSourceJournal Ett booleskt värde som anger kopior av meddelanden som bearbetas av den här bindningen ska lagras i källjournalen. Standardvärdet är false.

Köade program som vill föra en post med meddelanden som har lämnat datorns utgående kö kan kopiera meddelandena till en journalkö. När ett meddelande lämnar den utgående kön och en bekräftelse tas emot om att meddelandet togs emot på måldatorn sparas en kopia av meddelandet i den sändande datorns systemjournalkö.

Underordnade element

Element Beskrivning
<readerQuotas> Definierar begränsningarna för komplexiteten i SOAP-meddelanden som kan bearbetas av slutpunkter som konfigurerats med den här bindningen. Det här elementet är av typen XmlDictionaryReaderQuotasElement.
<Säkerhet> Definierar säkerhetsinställningarna för bindningen. Det här elementet är av typen NetMsmqSecurityElement.

Överordnade element

Element Beskrivning
<Bindningar> Det här elementet innehåller en samling standardbindningar och anpassade bindningar.

Kommentarer

Bindningen netMsmqBinding ger stöd för köer genom att använda Microsoft Message Queuing (MSMQ) som en transport och möjliggör stöd för löst kopplade program, felisolering, belastningsutjämning och frånkopplade åtgärder. En diskussion om dessa funktioner finns i Köer i WCF.

Exempel

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

Se även