System.Messaging-Namespace
Der System.Messaging-Namespace stellt Klassen für folgende Aufgaben zur Verfügung: Herstellen von Verbindungen mit Meldungswarteschlangen im Netzwerk, Überwachen und Verwalten von Meldungswarteschlangen im Netzwerk sowie Senden, Empfangen und Einsehen von Meldungen.
Member der MessageQueue-Klasse enthalten die folgenden Methoden, mit denen Meldungen gelesen und in die Warteschlange geschrieben werden können:
Mit der Send-Methode kann die Anwendung Meldungen in die Warteschlange schreiben. Mit Überladungen der Methode können Sie angeben, ob die Meldung mit Message (wodurch die präzise Steuerung der zu sendenden Informationen möglich ist) oder einem beliebigen anderen verwalteten Objekt gesendet werden soll, einschließlich anwendungsspezifischer Klassen. Die Methode unterstützt außerdem das Senden von Meldungen im Rahmen einer Transaktion.
Die Receive-Methode, die ReceiveById-Methode und die ReceiveByCorrelationId-Methode stellen Funktionen zum Lesen von Meldungen aus einer Warteschlange zur Verfügung. Wie die Send-Methode stellen diese Methoden Überladungen bereit, die die transaktionale Verarbeitung von Warteschlangen unterstützen. Diese Methoden stellen auch Überladungen mit Timeouts bereit.
Out-Parameter, die die Fortsetzung der Verarbeitung ermöglichen, wenn die Warteschlange leer ist. Da diese Methoden Beispiele für synchrone Verarbeitung sind, unterbrechen sie den aktuellen Thread, bis eine Meldung verfügbar ist, sofern Sie keinen Timeout angeben.
Die Peek-Methode ähnelt Receive, die Meldung in der Wartschlange wird nach dem Lesen jedoch nicht entfernt. Da Peek den Inhalt der Warteschlange nicht ändert, sind keine Überladungen vorhanden, die die transaktionale Verarbeitung unterstützen. Da Peek Meldungen jedoch wie Receive synchron aus der Warteschlange liest, kann für Überladungen der Methode ein Timeout angegeben werden, um zu verhindern, dass der Thread eine unbestimmte Zeit wartet.
Die Methoden BeginPeek, EndPeek, BeginReceive und EndReceive bieten Möglichkeiten zum asynchronen Lesen von Meldungen aus der Warteschlange. Sie unterbrechen den aktuellen Thread nicht, während sie auf den Eingang einer Meldung in der Warteschlange warten.
Die folgenden Methoden der MessageQueue-Klasse stellen Funktionen bereit, mit denen Listen von Warteschlangen anhand bestimmter Kriterien abgerufen und das Vorhandensein bestimmter Warteschlangen bestimmt werden kann:
GetPrivateQueuesByMachine ermöglicht das Abrufen der privaten Warteschlangen auf einem Computer.
GetPublicQueuesByCategory, GetPublicQueuesByLabel und GetPublicQueuesByMachine ermöglichen das Abrufen öffentlicher Warteschlangen nach allgemeinen Kriterien. Eine Überladung von GetPublicQueues ermöglicht eine noch genauere Auswahl von Warteschlangen auf der Grundlage verschiedener Suchkriterien.
Weitere Methoden der MessageQueue-Klasse bieten folgende Funktionen:
Erstellen und Löschen von Message Queueing-Warteschlangen.
Verwenden eines Meldungsenumerators, mit dem die Meldungen in einer Warteschlange schrittweise durchlaufen werden können.
Verwenden eines Warteschlangenenumerators zum Durchlaufen der Warteschlangen im System.
Festlegen von ACL-basierten Zugriffsrechten.
Verwenden des Verbindungscache.
Die Message-Klasse ermöglicht die präzise Steuerung der an eine Warteschlange gesendeten Informationen. Sie stellt das Objekt dar, das beim Empfangen und Einsehen von Meldungen aus einer Warteschlange verwendet wird. Neben dem Meldungstext werden mit den Eigenschaften der Message-Klasse Bestätigungseinstellungen, Auswahl des Formatierungsprogramms, Identifikation, Authentifizierungs- und Verschlüsselungsinformationen, Timestamps, Angaben über Ablaufverfolgung, Serverjournale, Warteschlangen für unzustellbare Nachrichten und Transaktionsdaten festgelegt.
Der MessageQueue-Komponente sind die folgenden drei Formatierungsprogramme zugeordnet, mit denen Sie Meldungen serialisieren oder deserialisieren können, die an Warteschlangen gesendet bzw. aus diesen empfangen wurden:
XmlMessageFormatter bietet ein lose verknüpftes Messaging, wobei voneinander unabhängige Versionen serialisierter Typen auf Client und Server erstellt werden können.
Das ActiveXMessageFormatter ist mit dem COM-Steuerelement von MSMQ kompatibel. Es ermöglicht Ihnen das Senden von Typen, die vom Steuerelement empfangen werden können, und das Empfangen von Typen, die vom Steuerelement gesendet wurden.
Der BinaryMessageFormatter ist schneller als der XmlMessageFormatter, bietet jedoch nicht den Vorteil des lose verknüpften Messaging.
Weitere Klassen im Messaging-Namespace unterstützen Codezugriffssicherheit und Sicherheit auf der Grundlage von ACL, Filtern von Message-Eigenschaften während des Lesens von Meldungen aus einer Warteschlange sowie Verwenden von Transaktionen beim Senden und Empfangen von Meldungen.
Klassen
Klasse | Beschreibung | |
---|---|---|
AccessControlEntry | Gibt Zugriffsrechte für einen Vertrauensnehmer (einen Benutzer, eine Gruppe oder einen Computer) für die Ausführung anwendungsspezifischer Implementierungen allgemeiner Aufgaben an. | |
AccessControlList | Enthält eine Liste von Zugriffssteuerungseinträgen, die Zugriffsrechte für einen oder mehrere Vertrauensnehmer angeben. | |
ActiveXMessageFormatter | Serialisiert bzw. deserialisiert primitive Datentypen und andere Objekte aus oder in den Text einer Message Queuing-Meldung. Dabei wird ein Format verwendet, das mit der ActiveX-Komponente von MSMQ kompatibel ist. | |
BinaryMessageFormatter | Serialisiert bzw. deserialisiert ein Objekt oder ein ganzes Diagramm verbundener Objekte unter Verwendung eines binären Formats in bzw. aus dem Text einer Message Queuing-Meldung. | |
Cursor | Beim Lesen der Meldungen einer Warteschlange wird mit einem Cursor eine bestimmte Position in dieser MessageQueue beizubehalten. | |
DefaultPropertiesToSend | Gibt die Standardwerte für Eigenschaften an, die beim Senden von Objekten (mit Ausnahme von Message-Instanzen) an eine Meldungswarteschlange verwendet werden. | |
Message | Stellt den Zugriff auf die Eigenschaften bereit, die zur Definition einer Message Queuing-Meldung erforderlich sind. | |
MessageEnumerator | Stellt einen Vorwärtscursor zum Durchlaufen der Meldungen in einer Meldungswarteschlange bereit. | |
MessagePropertyFilter | Steuert und wählt die Eigenschaften aus, die beim Einsehen oder beim Empfang von Meldungen aus einer Warteschlange abgerufen werden. | |
MessageQueue | Ermöglicht den Zugriff auf eine Warteschlange auf einem Message Queuing-Server. | |
MessageQueueAccessControlEntry | Gibt Zugriffsrechte für einen Vertrauensnehmer (Benutzer, Gruppe oder Computer) für die Durchführung von Message Queuing-Aufgaben an. | |
MessageQueueCriteria | Filtert Meldungswarteschlangen beim Durchführen einer Abfrage mit der GetPublicQueues-Methode der MessageQueue-Klasse. | |
MessageQueueEnumerator | Stellt einen Vorwärtscursor zum Durchlaufen der Meldungen in einer Meldungswarteschlange bereit. | |
MessageQueueException | Die Ausnahme, die ausgelöst wird, wenn ein interner Fehler in Microsoft Message Queuing auftritt. | |
MessageQueueInstaller | Ermöglicht das Installieren und Konfigurieren einer Warteschlange, die für das Ausführen einer Anwendung benötigt wird. Diese Klasse wird vom Installationsprogramm, z. B. InstallUtil.exe, beim Installieren einer MessageQueue aufgerufen. | |
MessageQueuePermission | Ermöglicht das Steuern von Codezugriffsberechtigungen für Messaging. | |
MessageQueuePermissionAttribute | Ermöglicht deklarative MessageQueue-Berechtigungsüberprüfungen. | |
MessageQueuePermissionEntry | Definiert die kleinste Einheit einer Berechtigung für die Codezugriffssicherheit, die für Messaging festgelegt ist. | |
MessageQueuePermissionEntryCollection | Enthält eine Auflistung von stark typisierten MessageQueuePermissionEntry-Objekten. | |
MessageQueueTransaction | Stellt eine interne Message Queuing-Transaktion bereit. | |
MessagingDescriptionAttribute | Gibt eine Beschreibung für eine Eigenschaft oder ein Ereignis an. | |
PeekCompletedEventArgs | Stellt Daten für das PeekCompleted-Ereignis bereit. Beim Aufruf eines Ereignishandlers durch die asynchrone Leseanweisung wird eine Instanz dieser Klasse an den Handler übergeben. | |
ReceiveCompletedEventArgs | Stellt Daten für das ReceiveCompleted-Ereignis bereit. Beim Aufruf eines Ereignishandlers durch eine asynchrone Receive-Methode wird eine Instanz dieser Klasse an den Handler übergeben. | |
SecurityContext | Stellt den Sicherheitskontext für eine Meldung in einer Warteschlange dar. | |
Trustee | Gibt ein Benutzerkonto, ein Gruppenkonto oder eine Anmeldesitzung an, auf das bzw. die sich ein Zugriffssteuerungseintrag bezieht. | |
XmlMessageFormatter | Serialisiert und deserialisiert mithilfe des auf XSD (XML Schema Definition) beruhenden XML-Formats Objekte in den oder aus dem Textkörper einer Meldung. |
Schnittstellen
Schnittstelle | Beschreibung | |
---|---|---|
IMessageFormatter | Serialisiert bzw. deserialisiert Objekte aus dem Text einer Message Queuing-Meldung. |
Delegaten
Delegat | Beschreibung | |
---|---|---|
PeekCompletedEventHandler | Stellt die Methode dar, die das PeekCompleted-Ereignis einer MessageQueue behandelt. | |
ReceiveCompletedEventHandler | Stellt die Methode dar, die das ReceiveCompleted-Ereignis einer MessageQueue behandelt. |
Enumerationen
Enumeration | Beschreibung | |
---|---|---|
AccessControlEntryType | Gibt an, ob Zugriffsrechte für einen Vertrauensnehmer erteilt, verweigert oder widerrufen werden. | |
AcknowledgeTypes | Gibt die Typen von Bestätigungsmeldungen an, die Message Queuing an die sendende Anwendung zurückgibt. | |
Acknowledgment | Gibt das Ergebnis der versuchten Übermittlung einer Meldung an. | |
CryptographicProviderType | Gibt die Kryptographiedienstanbieter an, die für das Überprüfen digitaler Signaturen verfügbar sind. | |
EncryptionAlgorithm | Gibt den Verschlüsselungsalgorithmus an, mit dem der Meldungstext einer privaten Meldung verschlüsselt wird. | |
EncryptionRequired | Gibt die Sicherheitsebene von Meldungen an, die von der Warteschlange empfangen werden. | |
GenericAccessRights | Gibt unter Verwendung des Zugriffsformats von Windows 2000 oder Windows NT einen Satz allgemeiner Zugriffsrechte an, das Message Queuing sowohl Standardzugriffsrechten als auch objektspezifischen Zugriffsrechten für Lesen, Schreiben und Ausführen zuordnet. | |
HashAlgorithm | Gibt den Hashalgorithmus an, der von Message Queuing beim Authentifizieren von Meldungen verwendet wird. | |
MessageLookupAction | Gibt eine Meldung in einer Meldungswarteschlange an, die eingesehen oder empfangen werden soll. | |
MessagePriority | Gibt die Priorität an, die Message Queuing einer Meldung auf dem Weg zu einer Warteschlange und beim Einfügen der Meldung in die Zielwarteschlage zuweist. | |
MessageQueueAccessRights | Gibt eine Gruppe von objektspezifischen Zugriffsrechten für Operationen an, die spezifisch für Message Queuing sind. | |
MessageQueueErrorCode | Bezeichnet die Quelle eines Fehlers, der in der Message Queuing-Anwendung aufgetreten ist und eine MessageQueueException-Ausnahme generiert hat. | |
MessageQueuePermissionAccess | Definiert Zugriffsebenen, die von System.Messaging-Berechtigungsklassen verwendet werden. | |
MessageQueueTransactionStatus | Gibt den Zustand einer internen Message Queuing-Transaktion an. | |
MessageQueueTransactionType | Gibt den Typ einer Message Queuing-Transaktion an. | |
MessageType | Gibt den Typ einer Meldung an. Eine Meldung kann eine typische Message Queuing-Meldung, eine positive bzw. Eingangs- und Lesebestätigung oder eine Berichtsmeldung sein. | |
PeekAction | Gibt an, ob die aktuelle oder die folgende Meldung in der Warteschlange eingesehen werden soll. | |
QueueAccessMode | Gibt den Zugriffsmodus für eine MessageQueue zur Erstellungszeit an. | |
StandardAccessRights | Gibt einen Satz von Standardzugriffsrechten an, die Operationen entsprechen, die den meisten Typen von sicherungsfähigen Objekten gemeinsam sind. | |
TrusteeType | Gibt den Typ eines Vertrauensnehmers an. |