IInputChannel.Receive 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.
Zwraca komunikat odebrany przez kanał wejściowy, jeśli jest dostępny z interwałem czasu jawnie lub niejawnie zdefiniowanym.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Receive() |
Zwraca odebrany komunikat, jeśli jest dostępny. Jeśli komunikat jest niedostępny, blokuje domyślny interwał czasu. |
| Receive(TimeSpan) |
Zwraca odebrany komunikat, jeśli jest dostępny. Jeśli komunikat jest niedostępny, blokuje określony interwał czasu. |
Uwagi
Użyj metody synchronicznej Receive , jeśli jest dopuszczalne zablokowanie bieżącego wątku do momentu odebrania komunikatu żądania lub przekroczenia interwału czasu określonego przez timeout. Użyj metody asynchronicznej BeginReceive , gdy potrzebujesz przetwarzania aplikacji, aby kontynuować bez oczekiwania na odebranie żądania.
Operacja synchroniczna Receive jest dostępna z jawnym limitem czasu lub bez tego limitu czasu.
Jeśli komunikat jest niedostępny, blokuje go do momentu, gdy zostanie on dostępny lub do momentu przekroczenia limitu czasu.
Receive()
- Źródło:
- IInputChannel.cs
- Źródło:
- IInputChannel.cs
- Źródło:
- IInputChannel.cs
Zwraca odebrany komunikat, jeśli jest dostępny. Jeśli komunikat jest niedostępny, blokuje domyślny interwał czasu.
public:
System::ServiceModel::Channels::Message ^ Receive();
public System.ServiceModel.Channels.Message Receive();
abstract member Receive : unit -> System.ServiceModel.Channels.Message
Public Function Receive () As Message
Zwraca
Odebrane Message .
Przykłady
Poniższy kod ilustruje sposób implementacji tej metody:
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
Uwagi
Użyj metody synchronicznej Receive , jeśli jest dopuszczalne zablokowanie bieżącego wątku do momentu odebrania komunikatu żądania lub przekroczenia interwału czasu określonego przez timeout. Użyj metody asynchronicznej BeginReceive , jeśli chcesz, aby przetwarzanie aplikacji było kontynuowane bez oczekiwania na odebranie żądania.
Operacja synchroniczna Receive jest dostępna z jawnym limitem czasu lub bez tego limitu czasu.
Jeśli komunikat jest niedostępny, blokuje go do momentu, gdy zostanie on dostępny lub do momentu przekroczenia limitu czasu.
Receive może być wywoływany wiele razy lub jednocześnie. Tylko jedno Receive wywołanie może zakończyć się dla każdej odebranej wiadomości.
Dotyczy
Receive(TimeSpan)
- Źródło:
- IInputChannel.cs
- Źródło:
- IInputChannel.cs
- Źródło:
- IInputChannel.cs
Zwraca odebrany komunikat, jeśli jest dostępny. Jeśli komunikat jest niedostępny, blokuje określony interwał czasu.
public:
System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
public System.ServiceModel.Channels.Message Receive(TimeSpan timeout);
abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
Public Function Receive (timeout As TimeSpan) As Message
Parametry
- timeout
- TimeSpan
Określa TimeSpan , jak długo operacja odbierania musi zostać ukończona przed upływem limitu czasu i wyrzuceniem TimeoutException.
Zwraca
Odebrane Message .
Wyjątki
timeout Określony parametr zostanie przekroczony przed ukończeniem operacji.
Określony limit czasu jest mniejszy niż zero.
Przykłady
Poniższy kod ilustruje sposób implementacji tej metody:
public Message Receive(TimeSpan timeout)
{
Message message;
while (true)
{
message = this.InnerChannel.Receive(timeout);
if (ProcessReceivedMessage(ref message))
{
break;
}
}
return message;
}
Uwagi
Użyj metody synchronicznej Receive , jeśli jest dopuszczalne zablokowanie bieżącego wątku do momentu odebrania komunikatu żądania lub przekroczenia interwału czasu określonego przez timeout. Użyj metody asynchronicznej BeginReceive , jeśli chcesz, aby przetwarzanie aplikacji było kontynuowane bez oczekiwania na odebranie żądania.
Operacja synchroniczna Receive jest dostępna z jawnym limitem czasu lub bez tego limitu czasu.
Jeśli komunikat jest niedostępny, blokuje go do momentu, gdy zostanie on dostępny lub do momentu przekroczenia limitu czasu.
Receive może być wywoływany wiele razy lub jednocześnie. Tylko jedno Receive wywołanie może zakończyć się dla każdej odebranej wiadomości.