Udostępnij za pośrednictwem


MessageEnumerator.RemoveCurrent Metoda

Definicja

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.

Zobacz też

Dotyczy