Sdílet prostřednictvím


MessageQueue.ReceiveByLookupId Metoda

Definice

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z fronty. Zprávu lze zadat pomocí identifikátoru vyhledávání nebo podle jeho pozice na přední nebo koncové straně fronty.

Přetížení

Name Description
ReceiveByLookupId(Int64)

Zavedeno v MSMQ 3.0. Přijme zprávu, která odpovídá danému vyhledávacímu identifikátoru z neaktuální fronty.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z transakční fronty. Zprávu lze zadat pomocí identifikátoru vyhledávání nebo podle jeho pozice na přední nebo koncové straně fronty.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z fronty pomocí zadaného kontextu transakce. Zprávu lze zadat pomocí identifikátoru vyhledávání nebo podle jeho pozice na přední nebo koncové straně fronty.

ReceiveByLookupId(Int64)

Zavedeno v MSMQ 3.0. Přijme zprávu, která odpovídá danému vyhledávacímu identifikátoru z neaktuální fronty.

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

Parametry

lookupId
Int64

Zpráva LookupId , která se má přijmout.

Návraty

LookupId Jehož Message vlastnost odpovídá parametru lookupId předaného.

Výjimky

MSMQ 3.0 není nainstalován.

Zpráva se zadanou lookupId zprávou nebyla nalezena.

Při přístupu k metodě řízení front zpráv došlo k chybě.

Poznámky

Pomocí této metody můžete číst zprávu se známým identifikátorem vyhledávání a odebrat ji z fronty. Tato metoda vyvolá výjimku okamžitě, pokud zpráva není ve frontě.

LookupId Vlastnost zprávy je jedinečná pro frontu, ve které se zpráva nachází, takže ve frontě bude maximálně jedna zpráva, která odpovídá danému lookupId parametru.

Pokud chcete přečíst zprávu se zadaným identifikátorem vyhledávání, aniž byste ji odebrali z fronty, použijte metodu PeekByLookupId .

Následující tabulka ukazuje, zda je tato metoda k dispozici v různých režimech pracovní skupiny.

Režim pracovní skupiny K dispozici
Místní počítač Ano
Název místního počítače a přímého formátu Ano
Vzdálený počítač Ne
Název vzdáleného počítače a přímého formátu Ano

Viz také

Platí pro

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z transakční fronty. Zprávu lze zadat pomocí identifikátoru vyhledávání nebo podle jeho pozice na přední nebo koncové straně fronty.

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

Parametry

action
MessageLookupAction

Jedna z MessageLookupAction hodnot určující, jak se zpráva čte ve frontě. Zadejte jednu z následujících možností:

MessageLookupAction.Current: Přijme zprávu určenou lookupId a odebere ji z fronty.

MessageLookupAction.Next: Přijme zprávu zadanou lookupId zprávou a odebere ji z fronty.

MessageLookupAction.Previous: Přijme zprávu, která lookupId předchází zadané zprávě, a odebere ji z fronty.

MessageLookupAction.First: Přijme první zprávu ve frontě a odebere ji z fronty. Parametr lookupId musí být nastaven na hodnotu 0.

MessageLookupAction.Last: Přijme poslední zprávu ve frontě a odebere ji z fronty. Parametr lookupId musí být nastaven na hodnotu 0.

lookupId
Int64

Zpráva LookupId , která se má přijmout, nebo 0. 0 se používá při přístupu k první nebo poslední zprávě ve frontě.

Návraty

Zadané Message parametry lookupId a action parametry předané.

Výjimky

MSMQ 3.0 není nainstalován.

Zpráva se zadanou lookupId zprávou nebyla nalezena.

Při přístupu k metodě řízení front zpráv došlo k chybě.

nebo

Fronta není transakční.

Parametr action není jedním z MessageLookupAction členů.

Poznámky

Tato metoda slouží ke čtení zprávy se známým vyhledávacím identifikátorem a jeho odebrání z fronty pomocí kontextu transakce definovaného parametrem transaction . Tato metoda vyvolá výjimku okamžitě, pokud zpráva není ve frontě.

LookupId Vlastnost zprávy je jedinečná pro frontu, ve které se zpráva nachází, takže ve frontě bude maximálně jedna zpráva, která odpovídá danému lookupId parametru.

Vzhledem k tomu, že tato metoda je volána v transakční frontě, zpráva přijatá by byla vrácena do fronty, pokud je transakce přerušena. Zpráva není trvale odebrána z fronty, dokud transakce nebude potvrzena.

Pokud chcete přečíst zprávu se zadaným identifikátorem, aniž byste ji odebrali z fronty, použijte metodu PeekByLookupId . Neexistuje žádný kontext transakce spojený se zprávou vrácenou voláním PeekByLookupId. Vzhledem k tomu PeekByLookupId , že neodebere žádné zprávy z fronty, nebude možné vrátit zpět, pokud by transakce byla přerušena.

Následující tabulka ukazuje, zda je tato metoda k dispozici v různých režimech pracovní skupiny.

Režim pracovní skupiny K dispozici
Místní počítač Ano
Název místního počítače a přímého formátu Ano
Vzdálený počítač Ne
Název vzdáleného počítače a přímého formátu Ano

Viz také

Platí pro

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z fronty pomocí zadaného kontextu transakce. Zprávu lze zadat pomocí identifikátoru vyhledávání nebo podle jeho pozice na přední nebo koncové straně fronty.

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

Parametry

action
MessageLookupAction

Jedna z MessageLookupAction hodnot určující, jak se zpráva čte ve frontě. Zadejte jednu z následujících možností:

MessageLookupAction.Current: Přijme zprávu určenou lookupId a odebere ji z fronty.

MessageLookupAction.Next: Přijme zprávu zadanou lookupId zprávou a odebere ji z fronty.

MessageLookupAction.Previous: Přijme zprávu, která lookupId předchází zadané zprávě, a odebere ji z fronty.

MessageLookupAction.First: Přijme první zprávu ve frontě a odebere ji z fronty. Parametr lookupId musí být nastaven na hodnotu 0.

MessageLookupAction.Last: Přijme poslední zprávu ve frontě a odebere ji z fronty. Parametr lookupId musí být nastaven na hodnotu 0.

lookupId
Int64

Zpráva LookupId , která se má přijmout, nebo 0. 0 se používá při přístupu k první nebo poslední zprávě ve frontě.

transactionType
MessageQueueTransactionType

Jedna z MessageQueueTransactionType hodnot popisující typ kontextu transakce, který se má přidružit ke zprávě.

Návraty

Zadané Message parametry action a lookupId parametry předané.

Výjimky

MSMQ 3.0 není nainstalován.

Zpráva se zadanou lookupId zprávou nebyla nalezena.

Při přístupu k metodě řízení front zpráv došlo k chybě.

Parametr action není jedním z MessageLookupAction členů.

nebo

Parametr transactionType není jedním z MessageQueueTransactionType členů.

Poznámky

Tato metoda slouží ke čtení zprávy se známým vyhledávacím identifikátorem a jeho odebrání z fronty pomocí kontextu transakce definovaného parametrem transactionType . Tato metoda vyvolá výjimku okamžitě, pokud zpráva není ve frontě.

LookupId Vlastnost zprávy je jedinečná pro frontu, ve které se zpráva nachází, takže ve frontě bude maximálně jedna zpráva, která odpovídá danému lookupId parametru.

Pokud chcete přečíst zprávu se zadaným identifikátorem, aniž byste ji odebrali z fronty, použijte metodu PeekByLookupId . Neexistuje žádný kontext transakce spojený se zprávou vrácenou voláním PeekByLookupId. Vzhledem k tomu PeekByLookupId , že neodebere žádné zprávy z fronty, nebude možné vrátit zpět, pokud by transakce byla přerušena.

Zadejte Automatic parametr transactionType , pokud již existuje kontext externí transakce připojený k vláknu, které chcete použít k přijetí zprávy. Určete Single , zda chcete zprávu přijmout jako jednu interní transakci. Můžete určit None , zda chcete přijmout zprávu z transakční fronty mimo kontext transakce.

Pokud je tato metoda volána pro příjem zprávy z transakční fronty, zpráva přijatá by byla vrácena do fronty, pokud je transakce přerušena. Zpráva není trvale odebrána z fronty, dokud transakce nebude potvrzena.

Následující tabulka ukazuje, zda je tato metoda k dispozici v různých režimech pracovní skupiny.

Režim pracovní skupiny K dispozici
Místní počítač Ano
Název místního počítače a přímého formátu Ano
Vzdálený počítač Ne
Název vzdáleného počítače a přímého formátu Ano

Viz také

Platí pro