Der erste Schritt bei der Arbeit mit MSMQ besteht darin, eine Warteschlange zu erzeugen. Das wird durch die Auswahl von „Message Queuing“ in der Computerverwaltungskonsole unter Windows erledigt. Eine weitere Variante zur Erzeugung einer Warteschlange ist, sie selbst zu programmieren. Der folgende C#-Code erzeugt eine neue private MSMQ-Nachrichten-Warteschlange (wenn sie nicht bereits vorhanden ist) und eine Nachricht darin.
Listing A
Der Code verwendet die Exists-Methode der MessageQueue-Klasse, um zu bestimmen, ob die private Warteschlange mit dem Namen ZDNet vorhanden ist. Wenn sie vorhanden ist, instanziiert diese Methode das MessageQueue-Objekt mit der vorhandenen Warteschlange. Andernfalls wird eine neue Warteschlange angelegt.
Ein neues Message-Objekt wird verwendet, um eine Nachricht an die Warteschlange zu schicken. Seine Priorität ist auf normal gesetzt. Seine Label-Eigenschaft gibt den Nachrichten-Titel an, der in der MSMQ-Konsole zusammen mit dem Textfeld angezeigt wird. Das Textfeld wiederum enthält den Inhalt der Nachricht, die in die Warteschlange gestellt wird. In diesem Fall wird nur Text verschickt, aber es können Objekte aller Art verwendet werden. Die Send-Methode der MessageQueue-Klasse schickt Nachrichten an die Warteschlange. Hier ist der entsprechende VB.NET-Code.
Listing B
Der nächste Schritt besteht darin, die Nachricht in der Warteschlange zu lesen. Mit der Receive-Methode der MessageQueue-Klasse ist das ein einfacher Prozess. Die Receive-Methode schickt ein Message-Objekt zurück, wenn sich Nachrichten in der Warteschlange befinden. Andernfalls wartet sie darauf, dass eine Nachricht auftaucht (eine Zeitüberschreitungsperiode kann festlegt werden). Soll eine Nachricht aus der Warteschlange abgerufen werden, so muss ihr Typ bekannt sein.
Mit der Formatter-Eigenschaft der MessageQueue-Klasse wird der Typ des Objekts, das abgerufen werden soll, angeben. In diesem einfachen Beispiel handelt es sich um Text. Daher wird System.String benutzt. Der C#-Code unten liest Nachrichten aus der Test-Warteschlange.
Listing C
Das TimeSpan-Objekt, das der Receive-Methode übergeben wird, gibt an, wie lange das System wartet, bis eine Ausnahme ausgelöst wird. Der nächste Schritt besteht darin, die Formatter-Methode anzuwenden – in diesem Beispiel wird das Objekt in einen String umgewandelt, um den zuvor gespeicherten Text zu lesen. Die Receive-Methode liest die Nachricht aus der Warteschlange, und ihre Werte werden in der Konsole angezeigt. Die Warteschlange wird im Finally-Teil des Try-Blocks geschlossen.
Messaging leicht nutzen
Indem das von Microsoft in Windows integrierte MSMQ mit dem .NET-System.Messaging-Namensbereich kombiniert wird, ist es ganz einfach, Messaging in einer eigenen .NET-Anwendung zu verwenden. Eine Nachrichten-Warteschlange stellt eine wirkungsvolle Möglichkeit dar, um in Unternehmens-Anwendungen asynchron Nachrichten (Daten) zu versenden und zu empfangen.
Zum 30. Juni 2028 soll das 2G-Netz komplett abgeschaltet werden und den Weg für schnellere…
Gewinn und Umsatz legen deutlich zu. Zum Wachstum tragen auch die Sparten Cloud und Abonnements…
Ein neues Bug-Bounty-Programm beschäftigt sich mit Apples Private Cloud Compute. Prämien gibt es unter für…
Betroffen sind alle aktuell unterstützten Apple-Smartphones und -Tablets. Schwachstellen in iOS und iPadOS erlauben unter…
Sie erlaubt Diebstahl von Daten. Bedrohungsakteure könnten FortiManager-Appliances kompromittieren, um Unternehmensumgebungen anzugreifen.
Speicherchips und GPUs für KI-Server beflügeln das Wachstum. Die Nachfrage aus dem Automobil- und Industriesektor…