Aracılığıyla paylaş


MessageQueue.ReceiveByLookupId Yöntem

Tanım

MSMQ 3.0'da tanıtıldı. Kuyruktan belirli bir ileti alır. İleti bir arama tanımlayıcısı tarafından veya kuyruğun önündeki veya sonundaki konumuyla belirtilebilir.

Aşırı Yüklemeler

ReceiveByLookupId(Int64)

MSMQ 3.0'da tanıtıldı. İşlem dışı bir kuyruktan verilen arama tanımlayıcısı ile eşleşen iletiyi alır.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

MSMQ 3.0'da tanıtıldı. İşlem kuyruğundan belirli bir iletiyi alır. İleti bir arama tanımlayıcısı tarafından veya kuyruğun önündeki veya sonundaki konumuyla belirtilebilir.

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

MSMQ 3.0'da tanıtıldı. Belirtilen işlem bağlamını kullanarak kuyruktan belirli bir ileti alır. İleti bir arama tanımlayıcısı tarafından veya kuyruğun önündeki veya sonundaki konumuyla belirtilebilir.

ReceiveByLookupId(Int64)

MSMQ 3.0'da tanıtıldı. İşlem dışı bir kuyruktan verilen arama tanımlayıcısı ile eşleşen iletiyi alır.

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

Parametreler

lookupId
Int64

LookupId Alınacak iletinin sayısı.

Döndürülenler

özelliği LookupId geçirilen Message parametreyle lookupId eşleşir.

Özel durumlar

MSMQ 3.0 yüklü değil.

Belirtilen lookupId ileti bulunamadı.

Message Queuing yöntemine erişilirken bir hata oluştu.

Açıklamalar

Bilinen arama tanımlayıcısına sahip bir iletiyi okumak ve kuyruktan kaldırmak için bu yöntemi kullanın. İleti kuyrukta değilse bu yöntem hemen bir özel durum oluşturur.

İletinin LookupId özelliği, iletinin bulunduğu kuyruğa özeldir, bu nedenle kuyrukta verilen lookupId parametreyle eşleşen en fazla bir ileti olur.

Belirtilen arama tanımlayıcısına sahip bir iletiyi kuyruktan kaldırmadan okumak için yöntemini kullanın PeekByLookupId .

Aşağıdaki tabloda bu yöntemin çeşitli Çalışma Grubu modlarında kullanılabilir olup olmadığı gösterilmektedir.

Çalışma grubu modu Kullanılabilir
Yerel bilgisayar Yes
Yerel bilgisayar ve doğrudan biçim adı Yes
Uzak bilgisayar No
Uzak bilgisayar ve doğrudan biçim adı Yes

Ayrıca bkz.

Şunlara uygulanır

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransaction)

MSMQ 3.0'da tanıtıldı. İşlem kuyruğundan belirli bir iletiyi alır. İleti bir arama tanımlayıcısı tarafından veya kuyruğun önündeki veya sonundaki konumuyla belirtilebilir.

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

Parametreler

action
MessageLookupAction

İletinin kuyrukta MessageLookupAction nasıl okunacağını belirten değerlerden biri. Aşağıdaki birini belirtin:

MessageLookupAction.Current: tarafından lookupId belirtilen iletiyi alır ve kuyruktan kaldırır.

MessageLookupAction.Next: tarafından lookupId belirtilen iletiyi izleyen iletiyi alır ve kuyruktan kaldırır.

MessageLookupAction.Previous: tarafından lookupId belirtilen iletiden önceki iletiyi alır ve kuyruktan kaldırır.

MessageLookupAction.First: Kuyruktaki ilk iletiyi alır ve kuyruktan kaldırır. lookupId parametresi 0 olarak ayarlanmalıdır.

MessageLookupAction.Last: Kuyruktaki son iletiyi alır ve kuyruktan kaldırır. lookupId parametresi 0 olarak ayarlanmalıdır.

lookupId
Int64

LookupId Alınacak iletinin veya 0'ın. 0, kuyruktaki ilk veya son iletiye erişirken kullanılır.

Döndürülenler

Message geçirilen ve action parametreleri tarafından lookupId belirtilen.

Özel durumlar

MSMQ 3.0 yüklü değil.

Belirtilen lookupId ileti bulunamadı.

Message Queuing yöntemine erişilirken bir hata oluştu.

-veya-

Kuyruk işlemsel değil.

action parametresi üyelerden MessageLookupAction biri değildir.

Açıklamalar

Bilinen arama tanımlayıcısına sahip bir iletiyi okumak ve parametresi tarafından transaction tanımlanan bir işlem bağlamını kullanarak kuyruktan kaldırmak için bu yöntemi kullanın. İleti kuyrukta değilse bu yöntem hemen bir özel durum oluşturur.

İletinin LookupId özelliği, iletinin bulunduğu kuyruğa özeldir, bu nedenle kuyrukta verilen lookupId parametreyle eşleşen en fazla bir ileti olur.

Bu yöntem işlem kuyruğunda çağrıldığından, işlem durdurulduysa alınan ileti kuyruğa döndürülür. İleti, işlem yürütülene kadar kuyruktan kalıcı olarak kaldırılmaz.

Belirtilen tanımlayıcıya sahip bir iletiyi kuyruktan kaldırmadan okumak için yöntemini kullanın PeekByLookupId . çağrısı PeekByLookupIdtarafından döndürülen bir iletiyle ilişkilendirilmiş işlem bağlamı yoktur. PeekByLookupId Kuyruktan hiçbir ileti kaldırılmadığından, işlem durdurulduysa geri alınabilecek hiçbir şey olmaz.

Aşağıdaki tabloda bu yöntemin çeşitli Çalışma Grubu modlarında kullanılabilir olup olmadığı gösterilmektedir.

Çalışma grubu modu Kullanılabilir
Yerel bilgisayar Yes
Yerel bilgisayar ve doğrudan biçim adı Yes
Uzak bilgisayar No
Uzak bilgisayar ve doğrudan biçim adı Yes

Ayrıca bkz.

Şunlara uygulanır

ReceiveByLookupId(MessageLookupAction, Int64, MessageQueueTransactionType)

MSMQ 3.0'da tanıtıldı. Belirtilen işlem bağlamını kullanarak kuyruktan belirli bir ileti alır. İleti bir arama tanımlayıcısı tarafından veya kuyruğun önündeki veya sonundaki konumuyla belirtilebilir.

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

Parametreler

action
MessageLookupAction

İletinin kuyrukta MessageLookupAction nasıl okunacağını belirten değerlerden biri. Aşağıdaki birini belirtin:

MessageLookupAction.Current: tarafından lookupId belirtilen iletiyi alır ve kuyruktan kaldırır.

MessageLookupAction.Next: tarafından lookupId belirtilen iletiyi izleyen iletiyi alır ve kuyruktan kaldırır.

MessageLookupAction.Previous: tarafından lookupId belirtilen iletiden önceki iletiyi alır ve kuyruktan kaldırır.

MessageLookupAction.First: Kuyruktaki ilk iletiyi alır ve kuyruktan kaldırır. lookupId parametresi 0 olarak ayarlanmalıdır.

MessageLookupAction.Last: Kuyruktaki son iletiyi alır ve kuyruktan kaldırır. lookupId parametresi 0 olarak ayarlanmalıdır.

lookupId
Int64

LookupId Alınacak iletinin veya 0'ın. 0, kuyruktaki ilk veya son iletiye erişirken kullanılır.

transactionType
MessageQueueTransactionType

MessageQueueTransactionType İletiyle ilişkilendirilecek işlem bağlamının türünü açıklayan değerlerden biri.

Döndürülenler

Message geçirilen ve lookupId parametreleri tarafından action belirtilen.

Özel durumlar

MSMQ 3.0 yüklü değil.

Belirtilen lookupId ileti bulunamadı.

Message Queuing yöntemine erişilirken bir hata oluştu.

action parametresi üyelerden MessageLookupAction biri değildir.

-veya-

transactionType parametresi üyelerden MessageQueueTransactionType biri değildir.

Açıklamalar

Bilinen arama tanımlayıcısına sahip bir iletiyi okumak ve parametresi tarafından transactionType tanımlanan bir işlem bağlamını kullanarak kuyruktan kaldırmak için bu yöntemi kullanın. İleti kuyrukta değilse bu yöntem hemen bir özel durum oluşturur.

İletinin LookupId özelliği, iletinin bulunduğu kuyruğa özeldir, bu nedenle kuyrukta verilen lookupId parametreyle eşleşen en fazla bir ileti olur.

Belirtilen tanımlayıcıya sahip bir iletiyi kuyruktan kaldırmadan okumak için yöntemini kullanın PeekByLookupId . çağrısı PeekByLookupIdtarafından döndürülen bir iletiyle ilişkilendirilmiş işlem bağlamı yoktur. PeekByLookupId Kuyruktan hiçbir ileti kaldırılmadığından, işlem durdurulduysa geri alınabilecek hiçbir şey olmaz.

İletiyi transactionType almak için kullanmak istediğiniz iş parçacığına eklenmiş bir dış işlem bağlamı zaten varsa parametresini belirtinAutomatic. İletiyi tek bir iç işlem olarak almak isteyip istemediğinizi belirtin Single . İşlem bağlamı dışında bir işlem kuyruğundan ileti almak isteyip istemediğinizi belirtebilirsiniz None .

İşlem kuyruğundan ileti almak için bu yöntem çağrılırsa, işlem durdurulduysa alınan ileti kuyruğa döndürülür. İleti, işlem yürütülene kadar kuyruktan kalıcı olarak kaldırılmaz.

Aşağıdaki tabloda bu yöntemin çeşitli Çalışma Grubu modlarında kullanılabilir olup olmadığı gösterilmektedir.

Çalışma grubu modu Kullanılabilir
Yerel bilgisayar Yes
Yerel bilgisayar ve doğrudan biçim adı Yes
Uzak bilgisayar No
Uzak bilgisayar ve doğrudan biçim adı Yes

Ayrıca bkz.

Şunlara uygulanır