Gewusst wie: Senden komplexer Meldungen
Aktualisiert: November 2007
Sie können nicht nur eine einfache Meldung durch Festlegen der Meldung im Send-Argument der Methode senden, sondern auch mehr Kontrolle über die Meldungen erhalten, indem Sie explizit ein Message-Objekt erstellen, anstatt es von der gemeinsam genutzten Send-Methode erstellen und senden zu lassen. Wenn Sie die Eigenschaften des resultierenden Message-Objekts bearbeiten, können Sie komplexere Meldungen erstellen und mehr Kontrolle über die Art und Weise ausüben, in der die Meldungen verarbeitet werden.
Beim Senden einer komplexen Meldung müssen Sie zunächst eine Verbindung zu der Warteschlange herstellen, mit der Sie kommunizieren möchten, und dann die zu sendenden Daten angeben. Allerdings erstellen Sie beim Festlegen der zu sendenden Daten eine Instanz der Message-Klasse, legen die erforderlichen Eigenschaften fest und optimieren die Übermittlungsmechanismen, bevor Sie die Meldung senden. Wie bei einfachen Meldungen, speichert das System das Meldungsobjekt und sendet es an die angegebene Warteschlange.
Hinweis: |
---|
Mit dem Message-Objekt ist es außerdem möglich, Meldungen als Teil einer Transaktion zu senden. Weitere Informationen hierzu finden Sie unter Transaktionale Meldungsverarbeitung. |
So senden Sie eine komplexe Meldung mithilfe der Message-Klasse
Erstellen Sie eine Instanz der MessageQueue-Komponente, und legen Sie deren Path-Eigenschaft auf die Warteschlange fest, auf die Sie verweisen möchten. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Instanzen von MessageQueue-Komponenten.
Hinweis: Wenn Sie die Komponente im Server-Explorer erstellt haben, wird die Path-Eigenschaft automatisch auf den Pfad dieser Warteschlange festgelegt.
Erstellen Sie eine Instanz des Message-Objekts.
Legen Sie den Meldungsinhalt fest, und ändern Sie die Standardwerte der Eigenschaften wie gewünscht.
Senden Sie das Objekt mit der Send-Methode an die Warteschlange.
Der Code könnte schließlich folgendermaßen aussehen:
Dim MessageQueue1 As New System.Messaging.MessageQueue(".\YourQueue") Dim newMessage As New System.Messaging.Message("Hello again") newMessage.Label = "This is the label." MessageQueue1.Send(newMessage)
System.Messaging.MessageQueue myMQ1 = new System.Messaging.MessageQueue(@".\YourQueue"); System.Messaging.Message newMessage = new System.Messaging.Message("Hello again"); newMessage.Label = "This is the label"; myMQ1.Send(newMessage);
Siehe auch
Aufgaben
Gewusst wie: Erstellen von Instanzen von MessageQueue-Komponenten
Gewusst wie: Senden einfacher Meldungen
Gewusst wie: Überprüfen von Meldungen zur Entwurfszeit
Konzepte
Transaktionale Meldungsverarbeitung