Freigeben über


Zuverlässige Dienste

Warteschlangen und zuverlässige Sitzungen sind die Windows Communication Foundation (WCF)-Features, die zuverlässige Nachrichten implementieren. In diesem Thema werden die zuverlässigen Nachrichtenübertragungsfunktionen von WCF dargelegt.

Zuverlässiges Messaging ist, wie eine zuverlässige Messagingquelle (als Quelle bezeichnet) Nachrichten zuverlässig an ein zuverlässiges Messaging-Ziel (als Ziel bezeichnet) überträgt.

Zuverlässiges Messaging führt die folgenden Funktionen aus:

  • Überträgt Garantien für Nachrichten, die von einer Quelle an ein Ziel gesendet werden, unabhängig von Nachrichtenübertragungs- oder Transportfehlern.

  • Trennt die Quelle und das Ziel voneinander. So ist eine unabhängige Wiederherstellung nach einem Fehler von Quelle und Ziel sowie eine zuverlässige Übertragung und Zustellung von Nachrichten möglich, auch wenn die Quelle oder das Ziel nicht verfügbar ist.

Zuverlässiges Messaging kommt häufig zu Kosten einer hohen Latenz. Latenz ist die Zeit, die für die Nachricht benötigt wird, um das Ziel aus der Quelle zu erreichen. WCF stellt daher die folgenden Arten von zuverlässigen Nachrichten bereit:

Zuverlässige Sitzungen

Zuverlässige Sitzungen bieten eine end-to-end-zuverlässige Übertragung von Nachrichten zwischen einer Quelle und einem Ziel mithilfe des WS-Reliable Messaging-Protokolls, unabhängig von der Anzahl oder Art von Zwischenvermittlern, die die Messaging-Endpunkte (Quell- und Zielendpunkte) trennen. Dies umfasst alle Transportintermediäre, die keine SOAP verwenden (z. B. HTTP-Proxys), sowie diejenigen, die SOAP verwenden (z. B. SOAP-basierte Router oder Brücken), die erforderlich sind, damit Nachrichten zwischen den Endpunkten fließen können. Zuverlässige Sitzungen verwenden ein Fenster für die In-Memory-Übertragung, um SOAP-Fehler auf Nachrichtenebene zu maskieren und Verbindungen im Falle von Transportfehlern erneut herzustellen.

Zuverlässige Sitzungen bieten zuverlässige Nachrichtenübertragungen mit geringer Latenz. Sie ermöglichen SOAP-Nachrichten über beliebige Proxys oder Vermittler, ähnlich wie TCP Pakete über IP-Brücken bereitstellt. Weitere Informationen zu zuverlässigen Sitzungen finden Sie unter "Zuverlässige Sitzungen".

Warteschlangen

Warteschlangen in WCF bieten sowohl zuverlässige Übertragungen von Nachrichten als auch Trennung zwischen Quellen und Zielen zu Kosten einer hohen Latenz. Die WCF-Kommunikation in der Warteschlange basiert auf Message Queuing (MSMQ).

MSMQ wird als optionale Komponente mit Windows ausgeliefert. Der MSMQ-Dienst wird als Windows-Dienst ausgeführt. Es erfasst Nachrichten für die Übertragung in einer Übertragungswarteschlange im Auftrag der Quelle und übermittelt sie an eine Zielwarteschlange. Die Zielwarteschlange akzeptiert Nachrichten im Auftrag des Ziels für die spätere Zustellung, wann immer das Ziel Nachrichten anfordert. Die MSMQ-Manager implementieren ein zuverlässiges Nachrichtenübertragungsprotokoll, sodass Nachrichten bei der Übertragung nicht verloren gehen. Das Protokoll kann systemeigenes oder SOAP-basiertes Protokoll namens SOAP Reliable Messaging Protocol (SRMP) sein.

Die Trennung, gepaart mit zuverlässigen Nachrichtenübertragungen zwischen Warteschlangen, ermöglicht Anwendungen, die lose gekoppelt sind, zuverlässig zu kommunizieren. Im Gegensatz zu zuverlässigen Sitzungen müssen die Quelle und das Ziel nicht zum gleichen Zeitpunkt ausgeführt werden. Dies ermöglicht implizit Szenarien, in denen Warteschlangen tatsächlich als Lastenausgleichsmechanismus verwendet werden, wenn die Nachrichtenproduktionsrate der Quelle und die Zielrate der Nachrichtennutzung nicht übereinstimmen. Weitere Informationen zu Warteschlangen finden Sie unter "Warteschlangen" in WCF.

Siehe auch