Dela via


<msmqIntegrationBinding>

Definierar en bindning som ger köstöd genom att dirigera meddelanden via MSMQ.

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

Attribut och element

Följande avsnitt beskriver 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 kö med obeställbara bokstäver som ska användas, om det finns

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 exaktOnce assurance (dvs exactlyOnce . attributet är inställt på true) är det här attributet standard för den systemomfattande transaktionella kön med obeställbara bokstäver i MSMQ.

För meddelanden som inte kräver några garantier är det här attributet som standard null.
Hållbara Ett booleskt värde som anger om meddelandet är varaktigt eller instabilt i kön. Ett varaktigt 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 svarstid och kan tolerera tillfälliga förlorade meddelanden. exactlyOnce Om attributet är inställt på truemåste meddelandena vara varaktiga. Standardvärdet är true.
exaktOnce Ett booleskt värde som anger om varje meddelande bara levereras en gång. Avsändaren meddelas sedan om leveransfel. När durable är falseignoreras det här attributet och meddelanden överförs utan leveranssäkerhet. Standardvärdet är true. Mer information finns i ExactlyOnce.
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 2. Mer information finns i MaxRetryCycles.
name En sträng som innehåller bindningens konfigurationsnamn. Det här värdet bör vara unikt eftersom det används som 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 hur länge en öppen åtgärd ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
receiveErrorHandling Ett ReceiveErrorHandling värde som anger hur gift och icke-dispaterbara meddelanden hanteras.
receiveRetryCount Ett heltal som anger det maximala antalet omedelbara återförsök som köhanteraren ska försöka med om överföringen av ett meddelande från programkön till programmet misslyckas.

Om det maximala antalet leveransförsök har uppnåtts och meddelandet inte nås av programmet skickas meddelandet till en kö för återförsök för omleverans vid ett senare tillfälle. Tiden innan meddelandet överförs tillbaka till den sändande kön styrs av retryCycleDelay. Om återförsökscyklerna når maxRetryCycles värdet skickas meddelandet antingen till poison-message-kön eller så skickas en negativ bekräftelse tillbaka till avsändaren.
receiveTimeout Ett TimeSpan värde som anger hur länge en mottagningsåtgärd ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:10:00.
receiveContextEnabled Ett booleskt värde som anger om ta emot kontext för bearbetning av meddelanden i köer är aktiverat. När detta är inställt truepå kan en tjänst "granska" ett meddelande i kön för att börja bearbeta det, och om något går fel och ett undantag utlöses finns det kvar i kön. Tjänster kan också "låsa" meddelanden för att försöka bearbeta igen vid ett senare tillfälle. ReceiveContext tillhandahåller en mekanism för att "slutföra" meddelandet när det har bearbetats så att det kan tas bort från kön. Meddelanden läss inte längre och skrivs inte längre om till köer över nätverket, och enskilda meddelanden studsar inte över olika tjänstinstanser under bearbetningen.
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:30:00. Mer information finns i RetryCycleDelay.
sendTimeout Ett TimeSpan värde som anger hur länge en sändningsåtgärd ska slutföras. Det här värdet ska vara större än eller lika med Zero. Standardvärdet är 00:01:00.
serializationFormat Definierar det format som används för serialisering av meddelandetexten. Det här attributet är av typen MsmqMessageSerializationFormat.
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 förbrukas 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ön för obeställbara meddelanden. Platsen för kön med obeställbara bokstäver anges med DeadLetterQueue attributet eller till lämplig standard, baserat på försäkringar.
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 Message Queuing-dator.
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ö.

{serializationFormat} Attributet

Värde Beskrivning
Xml XML-format
Binär Binärt format
ActiveX ActiveX-format
Bytearray Serialiserar objektet till en bytematris.
Stream Brödtexten formaterad som en ström

Underordnade element

Element Beskrivning
<Säkerhet> Definierar säkerhetsinställningarna för bindningen. Det här elementet är av typen MsmqIntegrationSecurityElement.

Överordnade element

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

Kommentarer

Det här bindningselementet kan användas för att göra det möjligt för WCF-program (Windows Communication Foundation) att skicka meddelanden till och ta emot meddelanden från befintliga MSMQ-program som använder antingen COM-, MSMQ-inbyggda API:er eller de typer som definierats i System.Messaging namnområdet Du kan använda det här konfigurationselementet för att ange sätt att hantera kön, överföra försäkringar, om meddelanden måste lagras varaktigt, och hur meddelanden ska skyddas och autentiseras. Mer information finns i Så här: Utbyta meddelanden med WCF-slutpunkter och program för meddelandeköer.

Exempel

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

Se även