MessageEnumerator.RemoveCurrent 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.
Usuwa bieżący komunikat z kolejki i zwraca komunikat do aplikacji wywołującej. Usunięcie komunikatu powoduje usunięcie go z kolejki.
Przeciążenia
RemoveCurrent() |
Usuwa bieżący komunikat z kolejki transakcyjnej lub nie transakcyjnej i zwraca komunikat do aplikacji wywołującej. Nie określono limitu czasu dla komunikatu, który ma pojawić się w kolejce. |
RemoveCurrent(MessageQueueTransaction) |
Usuwa bieżący komunikat z kolejki transakcyjnej i zwraca komunikat do aplikacji wywołującej. Nie określono limitu czasu dla komunikatu, który ma pojawić się w kolejce. |
RemoveCurrent(MessageQueueTransactionType) |
Usuwa bieżący komunikat z kolejki i zwraca komunikat do aplikacji wywołującej. Nie określono limitu czasu dla komunikatu, który ma pojawić się w kolejce. |
RemoveCurrent(TimeSpan) |
Usuwa bieżący komunikat z kolejki i zwraca komunikat do aplikacji wywołującej. Jeśli istnieje komunikat do usunięcia, metoda zwraca ją natychmiast. W przeciwnym razie metoda czeka określony limit czasu na nadejście nowego komunikatu. |
RemoveCurrent(TimeSpan, MessageQueueTransaction) |
Usuwa bieżący komunikat z kolejki transakcyjnej i zwraca komunikat do aplikacji wywołującej. Jeśli istnieje komunikat do usunięcia, metoda zwraca ją natychmiast. W przeciwnym razie metoda czeka określony limit czasu na nadejście nowego komunikatu. |
RemoveCurrent(TimeSpan, MessageQueueTransactionType) |
Usuwa bieżący komunikat z kolejki i zwraca komunikat do aplikacji wywołującej. Jeśli istnieje komunikat do usunięcia, metoda zwraca ją natychmiast. W przeciwnym razie metoda czeka określony limit czasu na nadejście nowego komunikatu. |
Uwagi
Zachowanie opisane dla tych przeciążeń ma zastosowanie tylko wtedy, gdy MessageEnumerator wystąpienie jest pobierane przy użyciu klasy GetMessageEnumerator2. Nie należy używać GetMessageEnumerator polecenia , aby pobrać wystąpienie klasy MessageEnumerator , ponieważ ta metoda została uznana za przestarzałą.
RemoveCurrent()
Usuwa bieżący komunikat z kolejki transakcyjnej lub nie transakcyjnej i zwraca komunikat do aplikacji wywołującej. Nie określono limitu czasu dla komunikatu, który ma pojawić się w kolejce.
public:
System::Messaging::Message ^ RemoveCurrent();
public System.Messaging.Message RemoveCurrent ();
member this.RemoveCurrent : unit -> System.Messaging.Message
Public Function RemoveCurrent () As Message
Zwraca
Element Message odwołujący się do pierwszego komunikatu dostępnego w kolejce.
Uwagi
RemoveCurrent Usuwa i zwraca komunikat w bieżącej lokalizacji kursora.
Jeśli używasz dziennika kolejek, usunięcie komunikatu powoduje, że kopia jest przechowywana w kolejce dziennika, podobnie jak MessageQueue metoda klasy Receive .
Po usunięciu bieżącego komunikatu kursor zostanie przeniesiony do następnego komunikatu. Nie musisz dzwonić MoveNext po wywołaniu metody RemoveCurrent.
Jeśli wywołasz to przeciążenie w kolejce transakcyjnej, usługa kolejkowania komunikatów tworzy jedną transakcję wewnętrzną.
Zobacz też
Dotyczy
RemoveCurrent(MessageQueueTransaction)
Usuwa bieżący komunikat z kolejki transakcyjnej i zwraca komunikat do aplikacji wywołującej. Nie określono limitu czasu dla komunikatu, który ma pojawić się w kolejce.
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
MessageQueueTransaction Obiekt określający transakcję, w której komunikat zostanie usunięty.
Zwraca
Element Message odwołujący się do pierwszego komunikatu dostępnego w kolejce.
Wyjątki
Parametr transaction
ma wartość null
.
Uwagi
RemoveCurrent usuwa i zwraca komunikat w bieżącej lokalizacji kursora przy użyciu wewnętrznego kontekstu transakcji zdefiniowanego transaction
przez parametr .
Jeśli używasz dziennika kolejek, usunięcie komunikatu powoduje, że kopia jest przechowywana w kolejce dziennika, podobnie jak MessageQueue metoda klasy Receive .
Podczas pracy z kolejkami transakcyjnymi wycofanie transakcji powoduje usunięcie komunikatów przez wywołanie, które RemoveCurrent ma zostać zwrócone do kolejki. Usunięcie nie jest nieodwracalne, dopóki transakcja nie zostanie zatwierdzona.
Po usunięciu bieżącego komunikatu kursor zostanie przeniesiony do następnego komunikatu. Nie musisz dzwonić MoveNext po wywołaniu metody RemoveCurrent.
Zobacz też
Dotyczy
RemoveCurrent(MessageQueueTransactionType)
Usuwa bieżący komunikat z kolejki i zwraca komunikat do aplikacji wywołującej. Nie określono limitu czasu dla komunikatu, który ma pojawić się w kolejce.
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
MessageQueueTransactionType Jedna z wartości opisujących typ kontekstu transakcji do skojarzenia z komunikatem.
Zwraca
Element Message odwołujący się do pierwszego komunikatu dostępnego w kolejce.
Wyjątki
Parametr transactionType
nie jest jednym z MessageQueueTransactionType elementów członkowskich.
Uwagi
RemoveCurrent usuwa i zwraca komunikat w bieżącej lokalizacji kursora przy użyciu kontekstu transakcji zdefiniowanego transactionType
przez parametr .
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 używasz dziennika kolejek, usunięcie komunikatu powoduje, że kopia jest przechowywana w kolejce dziennika, podobnie jak MessageQueue metoda klasy Receive .
Podczas pracy z kolejkami transakcyjnymi wycofanie transakcji powoduje usunięcie komunikatów przez wywołanie, które RemoveCurrent ma zostać zwrócone do kolejki. Usunięcie nie jest nieodwracalne, dopóki transakcja nie zostanie zatwierdzona.
Po usunięciu bieżącego komunikatu kursor zostanie przeniesiony do następnego komunikatu. Nie musisz dzwonić MoveNext po wywołaniu metody RemoveCurrent.
Zobacz też
Dotyczy
RemoveCurrent(TimeSpan)
Usuwa bieżący komunikat z kolejki i zwraca komunikat do aplikacji wywołującej. Jeśli istnieje komunikat do usunięcia, metoda zwraca ją natychmiast. W przeciwnym razie metoda czeka określony limit czasu na nadejście nowego komunikatu.
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
Interwał czasu oczekiwania na nadejście komunikatu do kolejki.
Zwraca
Element Message odwołujący się do pierwszego komunikatu dostępnego w kolejce.
Wyjątki
Wartość określona dla parametru timeout
jest nieprawidłowa.
Upłynął limit czasu.
Uwagi
RemoveCurrent Usuwa i zwraca komunikat w bieżącej lokalizacji kursora. Jeśli kursor znajduje się na końcu kolejki, to przeciążenie metody czeka, aż komunikat będzie dostępny lub interwał określony przez timeout
parametr wygasł.
Jeśli używasz dziennika kolejek, usunięcie komunikatu powoduje, że kopia jest przechowywana w kolejce dziennika, podobnie jak MessageQueue metoda klasy Receive .
Po usunięciu bieżącego komunikatu kursor zostanie przeniesiony do następnego komunikatu. Nie musisz dzwonić MoveNext po wywołaniu metody RemoveCurrent.
Jeśli wywołasz to przeciążenie w kolejce transakcyjnej, usługa kolejkowania komunikatów tworzy jedną transakcję wewnętrzną.
Zobacz też
Dotyczy
RemoveCurrent(TimeSpan, MessageQueueTransaction)
Usuwa bieżący komunikat z kolejki transakcyjnej i zwraca komunikat do aplikacji wywołującej. Jeśli istnieje komunikat do usunięcia, metoda zwraca ją natychmiast. W przeciwnym razie metoda czeka określony limit czasu na nadejście nowego komunikatu.
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
Interwał czasu oczekiwania na usunięcie komunikatu.
- transaction
- MessageQueueTransaction
Obiekt MessageQueueTransaction , który określa kontekst transakcji dla komunikatu.
Zwraca
Element Message odwołujący się do pierwszego komunikatu dostępnego w kolejce.
Wyjątki
Wartość określona dla parametru timeout
jest nieprawidłowa.
Parametr transaction
ma wartość null
.
Upłynął limit czasu.
Uwagi
RemoveCurrent Usuwa i zwraca komunikat w bieżącej lokalizacji kursora. Jeśli kursor znajduje się na końcu kolejki, to przeciążenie metody czeka, aż komunikat będzie dostępny lub interwał określony przez timeout
parametr wygasł.
Podczas pracy z kolejkami transakcyjnymi wycofanie transakcji powoduje usunięcie komunikatów przez wywołanie, które RemoveCurrent ma zostać zwrócone do kolejki. Usunięcie nie jest nieodwracalne, dopóki transakcja nie zostanie zatwierdzona.
Jeśli używasz dziennika kolejek, usunięcie komunikatu powoduje, że kopia jest przechowywana w kolejce dziennika, podobnie jak MessageQueue metoda klasy Receive .
Po usunięciu bieżącego komunikatu kursor zostanie przeniesiony do następnego komunikatu. Nie musisz dzwonić MoveNext po wywołaniu metody RemoveCurrent.
Zobacz też
Dotyczy
RemoveCurrent(TimeSpan, MessageQueueTransactionType)
Usuwa bieżący komunikat z kolejki i zwraca komunikat do aplikacji wywołującej. Jeśli istnieje komunikat do usunięcia, metoda zwraca ją natychmiast. W przeciwnym razie metoda czeka określony limit czasu na nadejście nowego komunikatu.
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
Interwał czasu oczekiwania na usunięcie komunikatu.
- transactionType
- MessageQueueTransactionType
MessageQueueTransactionType Jedna z wartości opisujących typ kontekstu transakcji do skojarzenia z komunikatem.
Zwraca
Element Message odwołujący się do pierwszego komunikatu dostępnego w kolejce.
Wyjątki
Wartość określona dla parametru timeout
jest nieprawidłowa.
Upłynął limit czasu.
Parametr transactionType
nie jest jednym z MessageQueueTransactionType elementów członkowskich.
Uwagi
RemoveCurrent usuwa i zwraca komunikat w bieżącej lokalizacji kursora przy użyciu kontekstu transakcji zdefiniowanego transactionType
przez parametr . Jeśli kursor znajduje się na końcu kolejki, to przeciążenie metody czeka, aż komunikat będzie dostępny lub interwał określony przez timeout
parametr wygasł.
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 używasz dziennika kolejek, usunięcie komunikatu powoduje, że kopia jest przechowywana w kolejce dziennika, podobnie jak MessageQueue metoda klasy Receive .
Podczas pracy z kolejkami transakcyjnymi wycofanie transakcji powoduje usunięcie komunikatów przez wywołanie, które RemoveCurrent ma zostać zwrócone do kolejki. Usunięcie nie jest nieodwracalne, dopóki transakcja nie zostanie zatwierdzona.
Po usunięciu bieżącego komunikatu kursor zostanie przeniesiony do następnego komunikatu. Nie musisz dzwonić MoveNext po wywołaniu metody RemoveCurrent.