Sdílet prostřednictvím


MessageQueue.ReceiveByLookupId Metoda

Definice

Zavedeno v MSMQ 3.0. Přijme z fronty určitou zprávu. Zpráva může být určena vyhledávacím identifikátorem nebo umístěním na začátku nebo na konci fronty.

Přetížení

ReceiveByLookupId(Int64)

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

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z transakční fronty. Zpráva může být určena vyhledávacím identifikátorem nebo jeho umístěním na začátku nebo na konci fronty.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z fronty pomocí zadaného kontextu transakce. Zpráva může být určena vyhledávacím identifikátorem nebo jeho umístěním na začátku nebo na konci fronty.

ReceiveByLookupId(Int64)

Zavedeno v MSMQ 3.0. Přijme zprávu, která odpovídá danému identifikátoru vyhledávání z neakční 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 , kterou chcete přijmout.

Návraty

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

Výjimky

MSMQ 3.0 není nainstalován.

Zpráva se zadaným lookupId parametrem nebyla nalezena.

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

Poznámky

Pomocí této metody můžete přečí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ě.

Vlastnost LookupId 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č Yes
Název místního počítače a přímého formátu Yes
Vzdálený počítač No
Název vzdáleného počítače a přímého formátu Yes

Viz také

Platí pro

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

Zavedeno v MSMQ 3.0. Přijme konkrétní zprávu z transakční fronty. Zpráva může být určena vyhledávacím identifikátorem nebo jeho umístěním na začátku nebo na konci 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, která určuje, jak se zpráva čte ve frontě. Určete jednu z následujících možností:

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

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

MessageLookupAction.Previous: Přijme zprávu před zprávou určenou uživatelem lookupId 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

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

Návraty

lookupId Zadané Message parametry a action předanými v.

Výjimky

MSMQ 3.0 není nainstalován.

Zpráva se zadaným lookupId parametrem nebyla nalezena.

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

-nebo-

Fronta není transakční.

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

Poznámky

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

Vlastnost LookupId 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, která je přijata, bude vrácena do fronty, pokud je transakce přerušena. Zpráva se trvale neodebere z fronty, dokud transakce není potvrzena.

Pokud chcete přečíst zprávu se zadaným identifikátorem, aniž byste ji odebrali z fronty, použijte metodu PeekByLookupId . Ke zprávě vrácené voláním PeekByLookupIdnení přidružen žádný kontext transakce. Vzhledem k tomu PeekByLookupId , že neodebere žádné zprávy z fronty, nebylo by co 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č Yes
Název místního počítače a přímého formátu Yes
Vzdálený počítač No
Název vzdáleného počítače a přímého formátu Yes

Viz také

Platí pro

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

Zavedeno v MSMQ 3.0. Přijme určitou zprávu z fronty pomocí zadaného kontextu transakce. Zpráva může být určena vyhledávacím identifikátorem nebo umístěním na začátku nebo na konci 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, která určuje, jak se zpráva čte ve frontě. Určete jednu z následujících možností:

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

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

MessageLookupAction.Previous: Přijme zprávu před zprávou určenou uživatelem lookupId 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

Hodnota LookupId zprávy, která se má přijmout, nebo 0. Hodnota 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

Parametr Message určený action parametry a lookupId předaný v.

Výjimky

MSMQ 3.0 není nainstalován.

Zpráva se zadaným lookupId parametrem nebyla nalezena.

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

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

-nebo-

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

Poznámky

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

Vlastnost LookupId zprávy je jedinečná pro frontu, ve které se zpráva nachází, takže ve frontě bude nejvýše 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 . Ke zprávě vrácené voláním PeekByLookupIdnení přidružen žádný kontext transakce. Vzhledem k tomu PeekByLookupId , že neodebere žádné zprávy z fronty, nebylo by nic vrátit zpět, pokud by transakce byla přerušena.

Zadejte Automatic jako transactionType parametr, 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řijímat zprávu z transakční fronty mimo kontext transakce.

Pokud je tato metoda volána k přijetí zprávy z transakční fronty, zpráva, která je přijata, bude vrácena do fronty, pokud transakce je přerušena. Zpráva není trvale odebrána z fronty, dokud transakce není 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č Yes
Název místního počítače a přímého formátu Yes
Vzdálený počítač No
Název vzdáleného počítače a přímého formátu Yes

Viz také

Platí pro