MessageQueue.ReceiveByLookupId Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wprowadzono w programie MSMQ 3.0. Odbiera określony komunikat z kolejki. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki.
Przeciążenia
ReceiveByLookupId(Int64) |
Wprowadzono w programie MSMQ 3.0. Odbiera komunikat zgodny z podanym identyfikatorem odnośnika z kolejki innej niż transakcyjna. |
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction) |
Wprowadzono w programie MSMQ 3.0. Odbiera określony komunikat z kolejki transakcyjnej. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki. |
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType) |
Wprowadzono w programie MSMQ 3.0. Odbiera określony komunikat z kolejki przy użyciu określonego kontekstu transakcji. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki. |
ReceiveByLookupId(Int64)
Wprowadzono w programie MSMQ 3.0. Odbiera komunikat zgodny z podanym identyfikatorem odnośnika z kolejki innej niż transakcyjna.
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
Zwraca
Właściwość, której LookupId właściwość jest zgodna Message z przekazanym parametremlookupId
.
Wyjątki
Program MSMQ 3.0 nie jest zainstalowany.
Nie można odnaleźć komunikatu z określonym lookupId
.
Wystąpił błąd podczas uzyskiwania dostępu do metody kolejkowania komunikatów.
Uwagi
Użyj tej metody, aby odczytać komunikat ze znanym identyfikatorem odnośnika i usunąć go z kolejki. Ta metoda zgłasza wyjątek natychmiast, jeśli komunikat nie znajduje się w kolejce.
Właściwość LookupId komunikatu jest unikatowa dla kolejki, w której znajduje się komunikat, więc w kolejce będzie znajdować się co najwyżej jeden komunikat zgodny z danym lookupId
parametrem.
Aby odczytać komunikat z określonym identyfikatorem odnośnika bez usuwania go z kolejki, użyj PeekByLookupId metody .
W poniższej tabeli przedstawiono, czy ta metoda jest dostępna w różnych trybach grupy roboczej.
Tryb grupy roboczej | Dostępne |
---|---|
Komputer lokalny | Tak |
Komputer lokalny i nazwa formatu bezpośredniego | Tak |
Komputer zdalny | Nie |
Nazwa komputera zdalnego i formatu bezpośredniego | Tak |
Zobacz też
Dotyczy
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)
Wprowadzono w programie MSMQ 3.0. Odbiera określony komunikat z kolejki transakcyjnej. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki.
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
MessageLookupAction Jedną z wartości określających sposób odczytywania komunikatu w kolejce. Określ jedną z następujących opcji:
MessageLookupAction.Current
: odbiera komunikat określony przez lookupId
i usuwa go z kolejki.
MessageLookupAction.Next
: odbiera komunikat po komunikacie określonym przez lookupId
i usuwa go z kolejki.
MessageLookupAction.Previous
: odbiera komunikat poprzedzający komunikat określony przez lookupId
i usuwa go z kolejki.
MessageLookupAction.First
: odbiera pierwszy komunikat w kolejce i usuwa go z kolejki. Parametr lookupId
musi być ustawiony na wartość 0.
MessageLookupAction.Last
: odbiera ostatni komunikat w kolejce i usuwa go z kolejki. Parametr lookupId
musi być ustawiony na wartość 0.
- lookupId
- Int64
Komunikat LookupId do odebrania lub 0. Wartość 0 jest używana podczas uzyskiwania dostępu do pierwszego lub ostatniego komunikatu w kolejce.
- transaction
- MessageQueueTransaction
Obiekt MessageQueueTransaction.
Zwraca
Określony Message przez lookupId
parametry i action
przekazany.
Wyjątki
Program MSMQ 3.0 nie jest zainstalowany.
Nie można odnaleźć komunikatu z określonym lookupId
.
Wystąpił błąd podczas uzyskiwania dostępu do metody kolejkowania komunikatów.
-lub-
Kolejka nie jest transakcyjna.
Parametr action
nie jest jednym z MessageLookupAction elementów członkowskich.
Uwagi
Użyj tej metody, aby odczytać komunikat ze znanym identyfikatorem odnośnika i usunąć go z kolejki przy użyciu kontekstu transakcji zdefiniowanego transaction
przez parametr . Ta metoda zgłasza wyjątek natychmiast, jeśli komunikat nie znajduje się w kolejce.
Właściwość LookupId komunikatu jest unikatowa dla kolejki, w której znajduje się komunikat, więc w kolejce będzie znajdować się co najwyżej jeden komunikat zgodny z danym lookupId
parametrem.
Ponieważ ta metoda jest wywoływana w kolejce transakcyjnej, komunikat, który zostanie odebrany, zostanie zwrócony do kolejki, jeśli transakcja zostanie przerwana. Komunikat nie zostanie trwale usunięty z kolejki, dopóki transakcja nie zostanie zatwierdzona.
Aby odczytać komunikat o określonym identyfikatorze bez usunięcia go z kolejki, użyj PeekByLookupId metody . Nie ma kontekstu transakcji skojarzonego z komunikatem zwróconym przez wywołanie metody PeekByLookupId. Ponieważ PeekByLookupId nie usuwa żadnych komunikatów z kolejki, nie byłoby nic do wycofania, gdyby transakcja została przerwana.
W poniższej tabeli przedstawiono, czy ta metoda jest dostępna w różnych trybach grupy roboczej.
Tryb grupy roboczej | Dostępne |
---|---|
Komputer lokalny | Tak |
Komputer lokalny i nazwa formatu bezpośredniego | Tak |
Komputer zdalny | Nie |
Nazwa komputera zdalnego i formatu bezpośredniego | Tak |
Zobacz też
Dotyczy
ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)
Wprowadzono w programie MSMQ 3.0. Odbiera określony komunikat z kolejki przy użyciu określonego kontekstu transakcji. Komunikat może być określony przez identyfikator odnośnika lub jego położenie na początku lub na końcu kolejki.
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
MessageLookupAction Jedną z wartości określających sposób odczytywania komunikatu w kolejce. Określ jedną z następujących opcji:
MessageLookupAction.Current
: odbiera komunikat określony przez lookupId
i usuwa go z kolejki.
MessageLookupAction.Next
: odbiera komunikat po komunikacie określonym przez lookupId
i usuwa go z kolejki.
MessageLookupAction.Previous
: odbiera komunikat poprzedzający komunikat określony przez lookupId
i usuwa go z kolejki.
MessageLookupAction.First
: odbiera pierwszy komunikat w kolejce i usuwa go z kolejki. Parametr lookupId
musi być ustawiony na wartość 0.
MessageLookupAction.Last
: odbiera ostatni komunikat w kolejce i usuwa go z kolejki. Parametr lookupId
musi być ustawiony na wartość 0.
- lookupId
- Int64
Wartość LookupId komunikatu do odebrania lub 0. Wartość 0 jest używana podczas uzyskiwania dostępu do pierwszego lub ostatniego komunikatu w kolejce.
- transactionType
- MessageQueueTransactionType
MessageQueueTransactionType Jedna z wartości opisujących typ kontekstu transakcji do skojarzenia z komunikatem.
Zwraca
Określony Message przez action
parametry i lookupId
przekazane.
Wyjątki
Program MSMQ 3.0 nie jest zainstalowany.
Nie można odnaleźć komunikatu z określonym lookupId
.
Wystąpił błąd podczas uzyskiwania dostępu do metody kolejkowania komunikatów.
Parametr action
nie jest jednym z MessageLookupAction elementów członkowskich.
-lub-
Parametr transactionType
nie jest jednym z MessageQueueTransactionType elementów członkowskich.
Uwagi
Ta metoda służy do odczytywania komunikatu ze znanym identyfikatorem odnośnika i usuwania go z kolejki przy użyciu kontekstu transakcji zdefiniowanego transactionType
przez parametr . Ta metoda zgłasza wyjątek natychmiast, jeśli komunikat nie znajduje się w kolejce.
Właściwość LookupId komunikatu jest unikatowa dla kolejki, w której znajduje się komunikat, więc w kolejce będzie co najwyżej jeden komunikat zgodny z danym lookupId
parametrem.
Aby odczytać komunikat z określonym identyfikatorem bez usuwania go z kolejki, użyj PeekByLookupId metody . Brak kontekstu transakcji skojarzonego z komunikatem zwróconym przez wywołanie metody PeekByLookupId. Ponieważ PeekByLookupId nie usuwa żadnych komunikatów z kolejki, nie byłoby nic do wycofywania, jeśli transakcja została przerwana.
Określ Automatic
parametr , transactionType
jeśli istnieje już zewnętrzny kontekst transakcji dołączony do wątku, którego chcesz użyć do odbierania komunikatu. Określ Single
, czy chcesz otrzymywać komunikat jako pojedynczą transakcję wewnętrzną. Możesz określić None
, czy chcesz odbierać komunikat z kolejki transakcyjnej poza kontekstem transakcji.
Jeśli ta metoda jest wywoływana w celu odbierania komunikatu z kolejki transakcyjnej, odebrany komunikat zostanie zwrócony do kolejki, jeśli transakcja zostanie przerwana. Komunikat nie zostanie trwale usunięty z kolejki, dopóki transakcja nie zostanie zatwierdzona.
W poniższej tabeli przedstawiono, czy ta metoda jest dostępna w różnych trybach grupy roboczej.
Tryb grupy roboczej | Dostępne |
---|---|
Komputer lokalny | Tak |
Nazwa komputera lokalnego i bezpośredniego formatu | Tak |
Komputer zdalny | Nie |
Nazwa komputera zdalnego i bezpośredniego formatu | Tak |