MessageQueue.ReceiveByLookupId Methode

Definition

Eingeführt in MSMQ 3.0. Empfängt eine bestimmte Meldung aus der Warteschlange. Die Meldung kann anhand eines Suchbezeichners oder anhand der Position am Anfang oder am Ende der Warteschlange angegeben werden.

Überlädt

ReceiveByLookupId(Int64)

Eingeführt in MSMQ 3.0. Empfängt die Meldung, die dem angegebenen Suchbezeichner in einer nicht transaktionalen Warteschlange entspricht.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Eingeführt in MSMQ 3.0. Empfängt eine bestimmte Meldung aus einer transaktionalen Warteschlange. Die Meldung kann anhand eines Suchbezeichners oder anhand der Position am Anfang oder am Ende der Warteschlange angegeben werden.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Eingeführt in MSMQ 3.0. Empfängt unter Verwendung des angegebenen Transaktionskontexts eine bestimmte Meldung aus der Warteschlange. Die Meldung kann anhand eines Suchbezeichners oder anhand der Position am Anfang oder am Ende der Warteschlange angegeben werden.

ReceiveByLookupId(Int64)

Eingeführt in MSMQ 3.0. Empfängt die Meldung, die dem angegebenen Suchbezeichner in einer nicht transaktionalen Warteschlange entspricht.

public:
 System::Messaging::Message ^ ReceiveByLookupId(long lookupId);
public System.Messaging.Message ReceiveByLookupId (long lookupId);
member this.ReceiveByLookupId : int64 -> System.Messaging.Message
Public Function ReceiveByLookupId (lookupId As Long) As Message

Parameter

lookupId
Int64

Die LookupId der zu empfangenden Meldung.

Gibt zurück

Die Message, deren LookupId-Eigenschaft dem übergebenen lookupId-Parameter entspricht.

Ausnahmen

MSMQ 3.0 ist nicht installiert.

Die Meldung mit der angegebenen lookupId wurde nicht gefunden.

Fehler beim Zugriff auf eine Message Queuing-Methode.

Hinweise

Verwenden Sie diese Methode, um eine Nachricht mit einem bekannten Nachschlagebezeichner zu lesen und aus der Warteschlange zu entfernen. Diese Methode löst sofort eine Ausnahme aus, wenn sich die Nachricht nicht in der Warteschlange befindet.

Die LookupId Eigenschaft einer Nachricht ist für die Warteschlange eindeutig, in der sich die Nachricht befindet. Daher befindet sich in der Warteschlange höchstens eine Nachricht, die dem angegebenen lookupId Parameter entspricht.

Verwenden Sie die PeekByLookupId -Methode, um eine Nachricht mit einem angegebenen Nachschlagebezeichner zu lesen, ohne sie aus der Warteschlange zu entfernen.

Die folgende Tabelle zeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokalem Computer Ja
Name des lokalen Computers und des direkten Formats Ja
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Ja

Weitere Informationen

Gilt für:

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Eingeführt in MSMQ 3.0. Empfängt eine bestimmte Meldung aus einer transaktionalen Warteschlange. Die Meldung kann anhand eines Suchbezeichners oder anhand der Position am Anfang oder am Ende der Warteschlange angegeben werden.

public:
 System::Messaging::Message ^ ReceiveByLookupId(System::Messaging::MessageLookupAction action, long lookupId, System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message ReceiveByLookupId (System.Messaging.MessageLookupAction action, long lookupId, System.Messaging.MessageQueueTransaction transaction);
member this.ReceiveByLookupId : System.Messaging.MessageLookupAction * int64 * System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function ReceiveByLookupId (action As MessageLookupAction, lookupId As Long, transaction As MessageQueueTransaction) As Message

Parameter

action
MessageLookupAction

Einer der MessageLookupAction-Werte, der angibt, wie die Meldung in der Warteschlange gelesen wird. Geben Sie eine der folgenden Optionen an:

MessageLookupAction.Current: Empfängt die durch lookupId angegebene Meldung und entfernt sie aus der Warteschlange.

MessageLookupAction.Next: Empfängt die Meldung nach der durch lookupId angegebenen Meldung und entfernt sie aus der Warteschlange.

MessageLookupAction.Previous: Empfängt die Meldung vor der durch lookupId angegebenen Meldung und entfernt sie aus der Warteschlange.

MessageLookupAction.First: Empfängt die erste Meldung aus der Warteschlange und entfernt sie aus dieser. Der lookupId-Parameter muss auf 0 festgelegt werden.

MessageLookupAction.Last: Empfängt die letzte Meldung aus der Warteschlange und entfernt sie aus dieser. Der lookupId-Parameter muss auf 0 festgelegt werden.

lookupId
Int64

Die LookupId der zu empfangenden Meldung, andernfalls 0 (null). 0 wird beim Zugreifen auf die erste oder letzte Meldung in die Warteschlange verwendet.

Gibt zurück

Die durch den übergebenen lookupId-Parameter und action-Parameter angegebene Message.

Ausnahmen

MSMQ 3.0 ist nicht installiert.

Die Meldung mit der angegebenen lookupId wurde nicht gefunden.

Fehler beim Zugriff auf eine Message Queuing-Methode.

- oder -

Die Warteschlange ist nicht transaktional.

Der action-Parameter ist keiner der MessageLookupAction-Member.

Hinweise

Verwenden Sie diese Methode, um eine Nachricht mit einem bekannten Nachschlagebezeichner zu lesen und sie mithilfe eines durch den Parameter definierten Transaktionskontexts aus der transaction Warteschlange zu entfernen. Diese Methode löst sofort eine Ausnahme aus, wenn sich die Nachricht nicht in der Warteschlange befindet.

Die LookupId Eigenschaft einer Nachricht ist für die Warteschlange eindeutig, in der sich die Nachricht befindet. Daher befindet sich in der Warteschlange höchstens eine Nachricht, die dem angegebenen lookupId Parameter entspricht.

Da diese Methode in einer Transaktionswarteschlange aufgerufen wird, wird die empfangene Nachricht an die Warteschlange zurückgegeben, wenn die Transaktion abgebrochen wird. Die Nachricht wird erst endgültig aus der Warteschlange entfernt, wenn die Transaktion zu einem Commit verpflichtet wurde.

Verwenden Sie die PeekByLookupId -Methode, um eine Nachricht mit einem angegebenen Bezeichner zu lesen, ohne sie aus der Warteschlange zu entfernen. Einer Nachricht, die von einem Aufruf PeekByLookupIdvon zurückgegeben wird, ist kein Transaktionskontext zugeordnet. Da PeekByLookupId keine Nachrichten aus der Warteschlange entfernt werden, gäbe es kein Rollback, wenn die Transaktion abgebrochen würde.

Die folgende Tabelle zeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokalem Computer Ja
Name des lokalen Computers und des direkten Formats Ja
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Ja

Weitere Informationen

Gilt für:

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Eingeführt in MSMQ 3.0. Empfängt unter Verwendung des angegebenen Transaktionskontexts eine bestimmte Meldung aus der Warteschlange. Die Meldung kann anhand eines Suchbezeichners oder anhand der Position am Anfang oder am Ende der Warteschlange angegeben werden.

public:
 System::Messaging::Message ^ ReceiveByLookupId(System::Messaging::MessageLookupAction action, long lookupId, System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message ReceiveByLookupId (System.Messaging.MessageLookupAction action, long lookupId, System.Messaging.MessageQueueTransactionType transactionType);
member this.ReceiveByLookupId : System.Messaging.MessageLookupAction * int64 * System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function ReceiveByLookupId (action As MessageLookupAction, lookupId As Long, transactionType As MessageQueueTransactionType) As Message

Parameter

action
MessageLookupAction

Einer der MessageLookupAction-Werte, der angibt, wie die Meldung in der Warteschlange gelesen wird. Geben Sie eine der folgenden Optionen an:

MessageLookupAction.Current: Empfängt die durch lookupId angegebene Meldung und entfernt sie aus der Warteschlange.

MessageLookupAction.Next: Empfängt die Meldung nach der durch lookupId angegebenen Meldung und entfernt sie aus der Warteschlange.

MessageLookupAction.Previous: Empfängt die Meldung vor der durch lookupId angegebenen Meldung und entfernt sie aus der Warteschlange.

MessageLookupAction.First: Empfängt die erste Meldung aus der Warteschlange und entfernt sie aus dieser. Der lookupId-Parameter muss auf 0 festgelegt werden.

MessageLookupAction.Last: Empfängt die letzte Meldung aus der Warteschlange und entfernt sie aus dieser. Der lookupId-Parameter muss auf 0 festgelegt werden.

lookupId
Int64

Die LookupId der zu empfangenden Meldung, andernfalls 0 (null). 0 wird beim Zugreifen auf die erste oder letzte Meldung in die Warteschlange verwendet.

transactionType
MessageQueueTransactionType

Einer der MessageQueueTransactionType-Werte, der den Typ des Transaktionskontexts beschreibt, der der Meldung zugeordnet werden soll.

Gibt zurück

Die durch den übergebenen action-Parameter und lookupId-Parameter angegebene Message.

Ausnahmen

MSMQ 3.0 ist nicht installiert.

Die Meldung mit der angegebenen lookupId wurde nicht gefunden.

Fehler beim Zugriff auf eine Message Queuing-Methode.

Der action-Parameter ist keiner der MessageLookupAction-Member.

- oder -

Der transactionType-Parameter ist keiner der MessageQueueTransactionType-Member.

Hinweise

Verwenden Sie diese Methode, um eine Nachricht mit einem bekannten Nachschlagebezeichner zu lesen und sie mithilfe eines durch den Parameter definierten Transaktionskontexts aus der transactionType Warteschlange zu entfernen. Diese Methode löst sofort eine Ausnahme aus, wenn sich die Nachricht nicht in der Warteschlange befindet.

Die LookupId Eigenschaft einer Nachricht ist für die Warteschlange eindeutig, in der sich die Nachricht befindet. Daher befindet sich in der Warteschlange höchstens eine Nachricht, die dem angegebenen lookupId Parameter entspricht.

Verwenden Sie die PeekByLookupId -Methode, um eine Nachricht mit einem angegebenen Bezeichner zu lesen, ohne sie aus der Warteschlange zu entfernen. Einer Nachricht, die von einem Aufruf PeekByLookupIdvon zurückgegeben wird, ist kein Transaktionskontext zugeordnet. Da PeekByLookupId keine Nachrichten aus der Warteschlange entfernt werden, gäbe es kein Rollback, wenn die Transaktion abgebrochen würde.

Geben Sie Automatic für den transactionType Parameter an, wenn bereits ein externer Transaktionskontext an den Thread angefügt ist, den Sie zum Empfangen der Nachricht verwenden möchten. Geben Sie an Single , ob Sie die Nachricht als einzelne interne Transaktion empfangen möchten. Sie können angeben None , ob Sie eine Nachricht von einer Transaktionswarteschlange außerhalb eines Transaktionskontexts empfangen möchten.

Wenn diese Methode aufgerufen wird, um eine Nachricht von einer Transaktionswarteschlange zu empfangen, wird die empfangene Nachricht an die Warteschlange zurückgegeben, wenn die Transaktion abgebrochen wird. Die Nachricht wird erst endgültig aus der Warteschlange entfernt, wenn die Transaktion zu einem Commit verpflichtet wurde.

Die folgende Tabelle zeigt, ob diese Methode in verschiedenen Arbeitsgruppenmodi verfügbar ist.

Arbeitsgruppenmodus Verfügbar
Lokalem Computer Ja
Name des lokalen Computers und des direkten Formats Ja
Remotecomputer Nein
Name des Remotecomputers und des direkten Formats Ja

Weitere Informationen

Gilt für: