MessageQueue.ReceiveByLookupId Methode

Definitie

Geïntroduceerd in MSMQ 3.0. Ontvangt een specifiek bericht uit de wachtrij. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

Overloads

Name Description
ReceiveByLookupId(Int64)

Geïntroduceerd in MSMQ 3.0. Ontvangt het bericht dat overeenkomt met de opgegeven opzoek-id van een niet-transactionele wachtrij.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Geïntroduceerd in MSMQ 3.0. Ontvangt een specifiek bericht van een transactionele wachtrij. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Geïntroduceerd in MSMQ 3.0. Ontvangt een specifiek bericht uit de wachtrij met behulp van de opgegeven transactiecontext. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

ReceiveByLookupId(Int64)

Geïntroduceerd in MSMQ 3.0. Ontvangt het bericht dat overeenkomt met de opgegeven opzoek-id van een niet-transactionele wachtrij.

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

Parameters

lookupId
Int64

Het LookupId bericht dat moet worden ontvangen.

Retouren

De Message eigenschap waarvan LookupId de eigenschap overeenkomt met de lookupId parameter die is doorgegeven.

Uitzonderingen

MSMQ 3.0 is niet geïnstalleerd.

Het bericht met de opgegeven lookupId kan niet worden gevonden.

Er is een fout opgetreden bij het openen van een Message Queuing-methode.

Opmerkingen

Gebruik deze methode om een bericht met een bekende opzoek-id te lezen en het uit de wachtrij te verwijderen. Met deze methode wordt onmiddellijk een uitzondering gegenereerd als het bericht zich niet in de wachtrij bevindt.

De LookupId eigenschap van een bericht is uniek voor de wachtrij waarin het bericht zich bevindt, dus er is maximaal één bericht in de wachtrij die overeenkomt met de opgegeven lookupId parameter.

Als u een bericht met een opgegeven opzoek-id wilt lezen zonder het uit de wachtrij te verwijderen, gebruikt u de PeekByLookupId methode.

In de volgende tabel ziet u of deze methode beschikbaar is in verschillende werkgroepmodi.

Werkgroepmodus Available
Lokale computer Ja
Naam van lokale computer en directe indeling Ja
Externe computer No
Naam van externe computer en directe indeling Ja

Zie ook

Van toepassing op

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Geïntroduceerd in MSMQ 3.0. Ontvangt een specifiek bericht van een transactionele wachtrij. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

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

Parameters

action
MessageLookupAction

Een van de MessageLookupAction waarden die aangeven hoe het bericht in de wachtrij wordt gelezen. Geef een van de volgende opties op:

MessageLookupAction.Current: ontvangt het bericht dat is opgegeven door lookupId en verwijdert het uit de wachtrij.

MessageLookupAction.Next: ontvangt het bericht dat volgt op het bericht dat is lookupId opgegeven en wordt verwijderd uit de wachtrij.

MessageLookupAction.Previous: ontvangt het bericht dat voorafgaat aan het bericht dat is lookupId opgegeven en wordt verwijderd uit de wachtrij.

MessageLookupAction.First: ontvangt het eerste bericht in de wachtrij en verwijdert het uit de wachtrij. De lookupId parameter moet worden ingesteld op 0.

MessageLookupAction.Last: ontvangt het laatste bericht in de wachtrij en verwijdert het uit de wachtrij. De lookupId parameter moet worden ingesteld op 0.

lookupId
Int64

Het LookupId bericht dat moet worden ontvangen of 0. 0 wordt gebruikt bij het openen van het eerste of laatste bericht in de wachtrij.

Retouren

De Message opgegeven door de lookupId en action parameters die zijn doorgegeven.

Uitzonderingen

MSMQ 3.0 is niet geïnstalleerd.

Het bericht met de opgegeven lookupId kan niet worden gevonden.

Er is een fout opgetreden bij het openen van een Message Queuing-methode.

– of –

De wachtrij is niet-transactioneel.

De action parameter is geen van de MessageLookupAction leden.

Opmerkingen

Gebruik deze methode om een bericht met een bekende opzoek-id te lezen en te verwijderen uit de wachtrij, met behulp van een transactiecontext die is gedefinieerd door de transaction parameter. Met deze methode wordt onmiddellijk een uitzondering gegenereerd als het bericht zich niet in de wachtrij bevindt.

De LookupId eigenschap van een bericht is uniek voor de wachtrij waarin het bericht zich bevindt, dus er is maximaal één bericht in de wachtrij die overeenkomt met de opgegeven lookupId parameter.

Omdat deze methode wordt aangeroepen in een transactionele wachtrij, wordt het ontvangen bericht geretourneerd naar de wachtrij als de transactie wordt afgebroken. Het bericht wordt pas definitief uit de wachtrij verwijderd nadat de transactie is doorgevoerd.

Als u een bericht met een opgegeven id wilt lezen zonder het uit de wachtrij te verwijderen, gebruikt u de PeekByLookupId methode. Er is geen transactiecontext gekoppeld aan een bericht dat wordt geretourneerd door een aanroep naar PeekByLookupId. Omdat PeekByLookupId er geen berichten uit de wachtrij worden verwijderd, is er niets om terug te draaien als de transactie is afgebroken.

In de volgende tabel ziet u of deze methode beschikbaar is in verschillende werkgroepmodi.

Werkgroepmodus Available
Lokale computer Ja
Naam van lokale computer en directe indeling Ja
Externe computer No
Naam van externe computer en directe indeling Ja

Zie ook

Van toepassing op

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Geïntroduceerd in MSMQ 3.0. Ontvangt een specifiek bericht uit de wachtrij met behulp van de opgegeven transactiecontext. Het bericht kan worden opgegeven door een opzoek-id of door de positie ervan aan de voorkant of het einde van de wachtrij.

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

Parameters

action
MessageLookupAction

Een van de MessageLookupAction waarden die aangeven hoe het bericht in de wachtrij wordt gelezen. Geef een van de volgende opties op:

MessageLookupAction.Current: ontvangt het bericht dat is opgegeven door lookupId en verwijdert het uit de wachtrij.

MessageLookupAction.Next: ontvangt het bericht dat volgt op het bericht dat is lookupId opgegeven en wordt verwijderd uit de wachtrij.

MessageLookupAction.Previous: ontvangt het bericht dat voorafgaat aan het bericht dat is lookupId opgegeven en wordt verwijderd uit de wachtrij.

MessageLookupAction.First: ontvangt het eerste bericht in de wachtrij en verwijdert het uit de wachtrij. De lookupId parameter moet worden ingesteld op 0.

MessageLookupAction.Last: ontvangt het laatste bericht in de wachtrij en verwijdert het uit de wachtrij. De lookupId parameter moet worden ingesteld op 0.

lookupId
Int64

Het LookupId bericht dat moet worden ontvangen of 0. 0 wordt gebruikt bij het openen van het eerste of laatste bericht in de wachtrij.

transactionType
MessageQueueTransactionType

Een van de MessageQueueTransactionType waarden die het type transactiecontext beschrijven dat aan het bericht moet worden gekoppeld.

Retouren

De Message opgegeven door de action en lookupId parameters die zijn doorgegeven.

Uitzonderingen

MSMQ 3.0 is niet geïnstalleerd.

Het bericht met de opgegeven lookupId kan niet worden gevonden.

Er is een fout opgetreden bij het openen van een Message Queuing-methode.

De action parameter is geen van de MessageLookupAction leden.

– of –

De transactionType parameter is geen van de MessageQueueTransactionType leden.

Opmerkingen

Gebruik deze methode om een bericht met een bekende opzoek-id te lezen en te verwijderen uit de wachtrij, met behulp van een transactiecontext die is gedefinieerd door de transactionType parameter. Met deze methode wordt onmiddellijk een uitzondering gegenereerd als het bericht zich niet in de wachtrij bevindt.

De LookupId eigenschap van een bericht is uniek voor de wachtrij waarin het bericht zich bevindt, dus er is maximaal één bericht in de wachtrij die overeenkomt met de opgegeven lookupId parameter.

Als u een bericht met een opgegeven id wilt lezen zonder het uit de wachtrij te verwijderen, gebruikt u de PeekByLookupId methode. Er is geen transactiecontext gekoppeld aan een bericht dat wordt geretourneerd door een aanroep naar PeekByLookupId. Omdat PeekByLookupId er geen berichten uit de wachtrij worden verwijderd, is er niets om terug te draaien als de transactie is afgebroken.

Geef Automatic op voor de transactionType parameter als er al een externe transactiecontext is gekoppeld aan de thread die u wilt gebruiken om het bericht te ontvangen. Geef op Single of u het bericht wilt ontvangen als één interne transactie. U kunt opgeven None of u een bericht wilt ontvangen van een transactionele wachtrij buiten een transactiecontext.

Als deze methode wordt aangeroepen om een bericht te ontvangen van een transactionele wachtrij, wordt het bericht dat wordt ontvangen, geretourneerd naar de wachtrij als de transactie wordt afgebroken. Het bericht wordt pas definitief uit de wachtrij verwijderd nadat de transactie is doorgevoerd.

In de volgende tabel ziet u of deze methode beschikbaar is in verschillende werkgroepmodi.

Werkgroepmodus Available
Lokale computer Ja
Naam van lokale computer en directe indeling Ja
Externe computer No
Naam van externe computer en directe indeling Ja

Zie ook

Van toepassing op