Sdílet prostřednictvím


MessageEnumerator.RemoveCurrent Metoda

Definice

Odebere aktuální zprávu z fronty a vrátí ji volající aplikaci. Odebráním zprávy se odstraní z fronty.

Přetížení

RemoveCurrent()

Odebere aktuální zprávu z transakční nebo neaktuální fronty a vrátí zprávu volající aplikaci. Není zadaný žádný časový limit pro doručení zprávy do fronty.

RemoveCurrent(MessageQueueTransaction)

Odebere aktuální zprávu z transakční fronty a vrátí zprávu volající aplikaci. Není zadaný žádný časový limit pro doručení zprávy do fronty.

RemoveCurrent(MessageQueueTransactionType)

Odebere aktuální zprávu z fronty a vrátí ji volající aplikaci. Není zadaný žádný časový limit pro doručení zprávy do fronty.

RemoveCurrent(TimeSpan)

Odebere aktuální zprávu z fronty a vrátí ji volající aplikaci. Pokud existuje zpráva k odebrání, vrátí ji metoda okamžitě. V opačném případě metoda počká na zadaný časový limit na doručení nové zprávy.

RemoveCurrent(TimeSpan, MessageQueueTransaction)

Odebere aktuální zprávu z transakční fronty a vrátí zprávu volající aplikaci. Pokud existuje zpráva k odebrání, vrátí ji metoda okamžitě. V opačném případě metoda počká na zadaný časový limit na doručení nové zprávy.

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Odebere aktuální zprávu z fronty a vrátí ji volající aplikaci. Pokud existuje zpráva k odebrání, vrátí ji metoda okamžitě. V opačném případě metoda počká na zadaný časový limit na doručení nové zprávy.

Poznámky

Chování popsané pro tato přetížení je možné použít pouze v případě, že MessageEnumerator instance je načtena pomocí GetMessageEnumerator2. Nepoužívejte GetMessageEnumerator k načtení instance objektu MessageEnumerator , protože tato metoda je zastaralá.

RemoveCurrent()

Odebere aktuální zprávu z transakční nebo neaktuální fronty a vrátí zprávu volající aplikaci. Není zadaný žádný časový limit pro doručení zprávy do fronty.

public:
 System::Messaging::Message ^ RemoveCurrent();
public System.Messaging.Message RemoveCurrent ();
member this.RemoveCurrent : unit -> System.Messaging.Message
Public Function RemoveCurrent () As Message

Návraty

A Message , který odkazuje na první zprávu dostupnou ve frontě.

Poznámky

RemoveCurrent odebere a vrátí zprávu v aktuálním umístění kurzoru.

Pokud používáte zápis do deníku fronty, odebrání zprávy způsobí, že se kopie uloží ve frontě deníku, stejně jako MessageQueue to dělá metoda třídy Receive .

Když odeberete aktuální zprávu, kurzor se přesune na další zprávu. Po volání RemoveCurrentnení nutné volat MoveNext .

Zavoláte-li toto přetížení v transakční frontě, služba Řízení front zpráv vytvoří jednu interní transakci.

Viz také

Platí pro

RemoveCurrent(MessageQueueTransaction)

Odebere aktuální zprávu z transakční fronty a vrátí zprávu volající aplikaci. Není zadaný žádný časový limit pro doručení zprávy do fronty.

public:
 System::Messaging::Message ^ RemoveCurrent(System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message RemoveCurrent (System.Messaging.MessageQueueTransaction transaction);
member this.RemoveCurrent : System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function RemoveCurrent (transaction As MessageQueueTransaction) As Message

Parametry

transaction
MessageQueueTransaction

Objekt MessageQueueTransaction , který určuje transakci, ve které bude zpráva odebrána.

Návraty

A Message , který odkazuje na první zprávu dostupnou ve frontě.

Výjimky

Parametr transaction je null.

Poznámky

RemoveCurrent odebere a vrátí zprávu v aktuálním umístění kurzoru pomocí kontextu interní transakce definovaného parametrem transaction .

Pokud používáte zápis do deníku fronty, odebrání zprávy způsobí, že se kopie uloží ve frontě deníku, stejně jako MessageQueue to dělá metoda třídy Receive .

Při práci s transakčními frontami způsobí vrácení transakce zpět všechny zprávy odebrané voláním, aby RemoveCurrent se vrátily do fronty. Odebrání není nevratné, dokud transakce není potvrzena.

Když odeberete aktuální zprávu, kurzor se přesune na další zprávu. Po volání RemoveCurrentnení nutné volat MoveNext .

Viz také

Platí pro

RemoveCurrent(MessageQueueTransactionType)

Odebere aktuální zprávu z fronty a vrátí ji volající aplikaci. Není zadaný žádný časový limit pro doručení zprávy do fronty.

public:
 System::Messaging::Message ^ RemoveCurrent(System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message RemoveCurrent (System.Messaging.MessageQueueTransactionType transactionType);
member this.RemoveCurrent : System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function RemoveCurrent (transactionType As MessageQueueTransactionType) As Message

Parametry

transactionType
MessageQueueTransactionType

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

Návraty

A Message , který odkazuje na první zprávu dostupnou ve frontě.

Výjimky

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

Poznámky

RemoveCurrent odebere a vrátí zprávu v aktuálním umístění kurzoru pomocí kontextu transakce definovaného parametrem transactionType .

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

Pokud používáte zápis do deníku fronty, odebrání zprávy způsobí, že se kopie uloží ve frontě deníku, stejně jako MessageQueue to dělá metoda třídy Receive .

Při práci s transakčními frontami způsobí vrácení transakce zpět všechny zprávy odebrané voláním, aby RemoveCurrent se vrátily do fronty. Odebrání není nevratné, dokud transakce není potvrzena.

Když odeberete aktuální zprávu, kurzor se přesune na další zprávu. Po volání RemoveCurrentnení nutné volat MoveNext .

Viz také

Platí pro

RemoveCurrent(TimeSpan)

Odebere aktuální zprávu z fronty a vrátí ji volající aplikaci. Pokud existuje zpráva k odebrání, vrátí ji metoda okamžitě. V opačném případě metoda počká na zadaný časový limit na doručení nové zprávy.

public:
 System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout);
member this.RemoveCurrent : TimeSpan -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan) As Message

Parametry

timeout
TimeSpan

Interval čekání na doručení zprávy do fronty.

Návraty

A Message , který odkazuje na první zprávu dostupnou ve frontě.

Výjimky

Hodnota zadaná pro timeout parametr je neplatná.

Časový limit vypršel.

Poznámky

RemoveCurrent odebere a vrátí zprávu v aktuálním umístění kurzoru. Pokud je kurzor na konci fronty, toto přetížení metody počká, dokud nebude k dispozici zpráva nebo než vyprší interval určený parametrem timeout .

Pokud používáte zápis do deníku fronty, odebrání zprávy způsobí, že se kopie uloží ve frontě deníku, stejně jako MessageQueue to dělá metoda třídy Receive .

Když odeberete aktuální zprávu, kurzor se přesune na další zprávu. Po volání RemoveCurrentnení nutné volat MoveNext .

Zavoláte-li toto přetížení v transakční frontě, služba Řízení front zpráv vytvoří jednu interní transakci.

Viz také

Platí pro

RemoveCurrent(TimeSpan, MessageQueueTransaction)

Odebere aktuální zprávu z transakční fronty a vrátí zprávu volající aplikaci. Pokud existuje zpráva k odebrání, vrátí ji metoda okamžitě. V opačném případě metoda počká na zadaný časový limit na doručení nové zprávy.

public:
 System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout, System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout, System.Messaging.MessageQueueTransaction transaction);
member this.RemoveCurrent : TimeSpan * System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan, transaction As MessageQueueTransaction) As Message

Parametry

timeout
TimeSpan

Interval čekání na odebrání zprávy.

transaction
MessageQueueTransaction

Objekt MessageQueueTransaction , který určuje kontext transakce pro zprávu.

Návraty

A Message , který odkazuje na první zprávu dostupnou ve frontě.

Výjimky

Hodnota zadaná pro timeout parametr je neplatná.

Parametr transaction je null.

Časový limit vypršel.

Poznámky

RemoveCurrent odebere a vrátí zprávu v aktuálním umístění kurzoru. Pokud je kurzor na konci fronty, toto přetížení metody počká, dokud nebude k dispozici zpráva nebo než vyprší interval určený parametrem timeout .

Při práci s transakčními frontami způsobí vrácení transakce zpět všechny zprávy odebrané voláním, aby RemoveCurrent se vrátily do fronty. Odebrání není nevratné, dokud transakce není potvrzena.

Pokud používáte zápis do deníku fronty, odebrání zprávy způsobí, že se kopie uloží ve frontě deníku, stejně jako MessageQueue to dělá metoda třídy Receive .

Když odeberete aktuální zprávu, kurzor se přesune na další zprávu. Po volání RemoveCurrentnení nutné volat MoveNext .

Viz také

Platí pro

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Odebere aktuální zprávu z fronty a vrátí ji volající aplikaci. Pokud existuje zpráva k odebrání, vrátí ji metoda okamžitě. V opačném případě metoda počká na zadaný časový limit na doručení nové zprávy.

public:
 System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout, System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout, System.Messaging.MessageQueueTransactionType transactionType);
member this.RemoveCurrent : TimeSpan * System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan, transactionType As MessageQueueTransactionType) As Message

Parametry

timeout
TimeSpan

Interval čekání na odebrání zprávy.

transactionType
MessageQueueTransactionType

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

Návraty

A Message , který odkazuje na první zprávu dostupnou ve frontě.

Výjimky

Hodnota zadaná pro timeout parametr je neplatná.

Časový limit vypršel.

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

Poznámky

RemoveCurrent odebere a vrátí zprávu v aktuálním umístění kurzoru pomocí kontextu transakce definovaného parametrem transactionType . Pokud je kurzor na konci fronty, toto přetížení metody počká, dokud nebude k dispozici zpráva nebo než vyprší interval určený parametrem timeout .

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

Pokud používáte zápis do deníku fronty, odebrání zprávy způsobí, že se kopie uloží ve frontě deníku, stejně jako MessageQueue to dělá metoda třídy Receive .

Při práci s transakčními frontami způsobí vrácení transakce zpět všechny zprávy odebrané voláním, aby RemoveCurrent se vrátily do fronty. Odebrání není nevratné, dokud transakce není potvrzena.

Když odeberete aktuální zprávu, kurzor se přesune na další zprávu. Po volání RemoveCurrentnení nutné volat MoveNext .

Viz také

Platí pro