Freigeben über


<msmqIntegration>

Gibt einen MSMQ-Transport für benutzerdefinierte Bindung an.

<configuration>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <binding>
          <msmqIntegration>

Syntax

<msmqIntegration customDeadLetterQueue="Uri"
                 deadLetterQueue="Custom/None/System"
                 durable="Boolean"
                 exactlyOnce="Boolean"
                 manualAddressing="Boolean"
                 maxBufferPoolSize="Integer"
                 maxImmediateRetries="Integer"
                 maxReceivedMessageSize="Integer"
                 maxRetryCycles="Integer"
                 rejectAfterLastRetry="Boolean"
                 retryCycleDelay="TimeSpan"
                 serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
                 timeToLive="TimeSpan"
                 useSourceJournal="Boolean"
                 useMsmqTracing="Boolean">
  <msmqTransportSecurity>
  </msmqTransportSecurity>
</msmqIntegration>

Typ

Type

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Merkmal Description
customDeadLetterQueue Ein URI, der den Speicherort der Warteschlange mit inaktiven Buchstaben pro Anwendung angibt, an dem Nachrichten, die abgelaufen sind oder nicht an die Anwendung übermittelt werden konnten, übertragen werden.

Bei Nachrichten, die GenauOnce-Zusicherungen erfordern (d exactlyOnce . h. auf "Genauen Anzeigen" festgelegt true), wird dieses Attribut standardmäßig in der systemweiten Transaktionswarteschlange in MSMQ in Dead-Letter-Warteschlange verwendet.

Für Nachrichten, die keine Zusicherungen erfordern (d. h. exactlyOnce auf festgelegt false), wird dieses Attribut standardmäßig auf null.

Der Wert muss das net.msmq-Schema verwenden. Der Standardwert lautet null.

Wenn deadLetterQueue dieser Wert auf None oder System" festgelegt ist, muss dieses Attribut auf null" festgelegt sein. Wenn dieses Attribut nicht nullangegeben ist, deadLetterQueue muss dieser Wert auf Custom. festgelegt werden.
deadLetterQueue Gibt den Typ der zu verwendenden Warteschleife an.

Gültige Werte sind enthalten

- Benutzerdefiniert: Benutzerdefinierte Deadletter-Warteschlange.
- Keine: Es ist keine Deadletter-Warteschlange zu verwenden.
- System: Verwenden Sie die System-Deadletter-Warteschlange.

Dieses Attribut ist vom Typ DeadLetterQueue.
Langlebig Ein boolescher Wert, der angibt, ob die von dieser Bindung verarbeiteten Nachrichten dauerhaft oder veränderlich sind. Der Standardwert lautet true.

Eine dauerhafte Nachricht überlebt einen Warteschlangen-Manager-Absturz, während eine veränderliche Nachricht nicht. Veränderliche Nachrichten sind nützlich, wenn Anwendungen eine geringere Latenz erfordern und gelegentlich verlorene Nachrichten tolerieren können.

Wenn dieser Wert auf exactlyOnce festgelegt trueist, müssen die Nachrichten dauerhaft sein.
Exactlyonce Ein Boolescher Wert, der angibt, ob nachrichten, die von dieser Bindung verarbeitet werden, genau einmal empfangen werden. Der Standardwert lautet true.

Eine Nachricht kann mit oder ohne Zusicherungen gesendet werden. Mit einer Zusicherung kann eine Anwendung sicherstellen, dass eine gesendete Nachricht die Empfangende Nachrichtenwarteschlange erreicht hat, oder wenn dies nicht der Fall ist, kann die Anwendung dies ermitteln, indem sie die Warteschleife für tote Buchstaben liest.

exactlyOnce, wenn festgelegt auf true, gibt an, dass MSMQ sicherstellt, dass eine gesendete Nachricht einmal und nur einmal an die empfangende Nachrichtenwarteschlange übermittelt wird, und wenn die Zustellung fehlschlägt, wird die Nachricht an die Warteschlange für inaktive Briefe gesendet.

Nachrichten, die mit exactlyOnce "Set" gesendet wurden, true müssen nur an eine Transaktionswarteschlange gesendet werden.
manualAddressing Ein boolescher Wert, mit dem der Benutzer die Kontrolle über die Nachrichtenadressierung übernehmen kann. Diese Eigenschaft wird in der Regel in Routerszenarien verwendet, in denen die Anwendung bestimmt, an welche von mehreren Zielen eine Nachricht gesendet werden soll.

Wenn dieser Wert festgelegt ist true, geht der Kanal davon aus, dass die Nachricht bereits adressiert wurde, und fügt ihr keine zusätzlichen Informationen hinzu. Der Benutzer kann dann jede Nachricht einzeln adressen.

Bei Festlegung auf false, erstellt der Standardmäßige Windows Communication Foundation (WCF)-Adressierungsmechanismus automatisch Adressen für alle Nachrichten.

Der Standardwert lautet false.
maxBufferPoolSize Eine positive ganze Zahl, die die maximale Größe des Pufferpools angibt. Der Standardwert ist 524288.

Viele Teile von WCF verwenden Puffer. Das Erstellen und Zerstören von Puffern jedes Mal, wenn sie verwendet werden, ist teuer, und die Garbage Collection für Puffer ist ebenfalls teuer. Mit Pufferpools können Sie einen Puffer aus dem Pool übernehmen, ihn verwenden und nach Abschluss an den Pool zurückgeben. So wird der Aufwand beim Erstellen und Zerstören von Puffern vermieden.
maxImmediateRetries Eine ganze Zahl, die die maximale Anzahl von sofortigen Wiederholungsversuchen für eine Nachricht angibt, die aus der Anwendungswarteschlange gelesen wird. Der Standardwert ist 5.

Wenn die maximale Anzahl von sofortigen Wiederholungen für die Nachricht versucht wird und die Nachricht nicht von der Anwendung verwendet wird, wird die Nachricht an eine Wiederholungswarteschlange gesendet, um zu einem späteren Zeitpunkt erneut zu versuchen. Wenn keine Wiederholungszyklen angegeben sind, werden die Nachrichten entweder an die Giftnachrichtenwarteschlange gesendet, oder eine negative Bestätigung wird an den Absender zurückgesendet.
maxReceivedMessageSize Eine positive ganze Zahl, die die maximale Nachrichtengröße in Bytes einschließlich Kopfzeilen angibt. Der Absender einer Nachricht empfängt einen SOAP-Fehler, wenn die Nachricht für den Empfänger zu groß ist. Der Empfänger legt die Nachricht ab und erstellt einen Eintrag des Ereignisses im Ablaufverfolgungsprotokoll. Der Standardwert ist 65536.
Maxretrycycles Eine ganze Zahl, die die maximale Anzahl von Wiederholungszyklen angibt, um die Zustellung von Nachrichten an die empfangende Anwendung zu versuchen. Der Standardwert lautet MaxValue.

Ein einzelner Wiederholungszyklus versucht, eine Nachricht an eine Anwendung zu übermitteln, eine bestimmte Anzahl von Malen. Die Anzahl der durchgeführten Versuche wird durch das maxImmediateRetries Attribut festgelegt. Wenn die Anwendung die Nachricht nicht mehr nutzt, nachdem die Zustellungsversuche erschöpft wurden, wird die Nachricht an eine Wiederholungswarteschlange gesendet. Nachfolgende Wiederholungszyklen bestehen aus der Nachricht, die von der Wiederholungswarteschlange an die Anwendungswarteschlange zurückgegeben wird, um erneut zu versuchen, an die Anwendung zu senden, nachdem eine Verzögerung durch das retryCycleDelay Attribut angegeben wurde. Das maxRetryCycles Attribut gibt die Anzahl der Wiederholungszyklen an, die die Anwendung verwendet, um zu versuchen, die Nachricht zu übermitteln.
rejectAfterLastRetry Ein boolescher Wert, der angibt, welche Aktion für eine Nachricht ausgeführt werden soll, bei der die Zustellung fehlgeschlagen ist, nachdem die maximale Anzahl von Wiederholungen versucht wurde.

true bedeutet, dass eine negative Bestätigung an den Absender zurückgegeben wird und die Nachricht gelöscht wird; false bedeutet, dass die Nachricht an die Giftnachrichtenwarteschlange gesendet wird. Der Standardwert lautet false.

Wenn der Wert lautet false, kann die empfangende Anwendung die Giftnachrichtenwarteschlange lesen, um giftige Nachrichten zu verarbeiten (d. a. Nachrichten, die die Zustellung fehlgeschlagen haben).

MSMQ 3.0 unterstützt das Zurückgeben einer negativen Bestätigung an den Absender nicht, sodass dieses Attribut in MSMQ 3.0 ignoriert wird.
Retrycycledelay Ein TimeSpan Wert, der die Zeitverzögerung zwischen Wiederholungszyklen angibt, wenn versucht wird, eine Nachricht zu übermitteln, die nicht sofort zugestellt werden konnte. Der Standardwert ist 00:10:00.

Ein einzelner Wiederholungszyklus versucht, eine Nachricht an eine empfangende Anwendung eine bestimmte Anzahl von Malen zu übermitteln. Die Anzahl der durchgeführten Versuche wird durch das maxImmediateRetries Attribut angegeben. Wenn die Anwendung die Nachricht nach der angegebenen Anzahl sofortiger Wiederholungen nicht mehr verwendet, wird die Nachricht an eine Wiederholungswarteschlange gesendet. Nachfolgende Wiederholungszyklen bestehen aus der Nachricht, die von der Wiederholungswarteschlange an die Anwendungswarteschlange zurückgegeben wird, um erneut zu versuchen, an die Anwendung zu senden, nachdem eine Verzögerung durch das retryCycleDelay Attribut angegeben wurde. Die Anzahl der Wiederholungszyklen wird durch maxRetryCycles Attribut angegeben.
serializationFormat Gibt den Formatierer an, der zum Serialisieren von Objekten verwendet wird, die als Teil einer MSMQ-Nachricht gesendet werden. Gültige Werte sind

- ActiveX: Der ActiveX-Formatierer wird beim Serialisieren von COM-Objekten verwendet.
- Binärdatei: Serialisiert das Objekt in ein Binärpaket.
- ByteArray: Serialisiert das Objekt in ein Bytearray.
- Stream: Serialisiert das Objekt in einen Datenstrom.
- XML: Serialisiert das Objekt in ein XML-Paket. Der Standardwert ist XML.

Dieses Attribut ist vom Typ MsmqMessageSerializationFormat.
timeToLive A TimeSpan that specifies how long the messages are valid before they expired and are put in the dead-letter queue. Der Standardwert ist 1.00:00:00, was 1 Tag bedeutet.

Dieses Attribut wird festgelegt, um sicherzustellen, dass zeitkritische Nachrichten nicht veraltet werden, bevor sie von den empfangenden Anwendungen verarbeitet werden. Eine Nachricht in einer Warteschlange, die nicht von der empfangenden Anwendung innerhalb des angegebenen Zeitintervalls verbraucht wird, wird als abgelaufen bezeichnet. Abgelaufene Nachrichten werden an eine spezielle Warteschlange gesendet, die als Inaktive Briefwarteschlange bezeichnet wird. Die Position der Warteschlange für inaktive Buchstaben wird basierend auf den Zusicherungen mit dem customDeadLetterQueue Attribut oder auf die entsprechende Standardeinstellung festgelegt.
useMsmqTracing Ein boolescher Wert, der angibt, ob von dieser Bindung verarbeitete Nachrichten nachverfolgt werden sollen. Der Standardwert lautet false.

Wenn die Ablaufverfolgung aktiviert ist, werden Berichtsnachrichten erstellt und bei jedem Verlassen oder Eintreffen der Nachricht an einen Message Queuing-Computer an die Berichtswarteschlange gesendet.
useSourceJournal Ein boolescher Wert, der angibt, ob Kopien von Nachrichten, die von dieser Bindung verarbeitet werden, in der Quelljournalwarteschlange gespeichert werden sollen. Der Standardwert lautet false.

In die Warteschlange eingereihte Anwendungen, die einen Datensatz von Nachrichten speichern möchten, die die ausgehende Warteschlange des Computers verlassen haben, können die Nachrichten in eine Journalwarteschlange kopieren. Sobald eine Nachricht die ausgehende Warteschlange verlässt und eine Bestätigung empfangen wird, dass die Nachricht auf dem Zielcomputer empfangen wurde, wird eine Kopie der Nachricht in der Systemjournalwarteschlange des Sendenden Computers gespeichert.

Untergeordnete Elemente

Element Description
Msmqtransportsecurity Gibt transportsicherheitseinstellungen für diese Bindung an. Dieses Element ist vom Typ MsmqTransportSecurityElement.

Übergeordnete Elemente

Element Description
<verbindlich> Definiert alle Bindungsfunktionen der benutzerdefinierten Bindung.

Siehe auch