MessageQueue.ReceiveByLookupId Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.
- transaction
- MessageQueueTransaction
Das MessageQueueTransaction-Objekt.
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 |