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, który jest jawnie lub niejawnie zdefiniowany.
Przeciążenia
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 , gdy jest to dopuszczalne, aby bieżący wątek był blokowany 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 przekroczeniem limitu 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
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
Odebrano Message .
Przykłady
Poniższy kod ilustruje sposób implementowania tej metody:
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
Uwagi
Użyj metody synchronicznej Receive , gdy jest to dopuszczalne, aby bieżący wątek był blokowany 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 przekroczeniem limitu 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ływana wiele razy lub współbież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
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 elementu TimeoutException.
Zwraca
Odebrano Message .
Wyjątki
timeout
Określona wartość zostanie przekroczona przed ukończeniem operacji.
Określony limit czasu jest mniejszy niż zero.
Przykłady
Poniższy kod ilustruje sposób implementowania 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 , gdy jest to dopuszczalne, aby bieżący wątek był blokowany 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 przekroczeniem limitu 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ływana wiele razy lub współbieżnie. Tylko jedno Receive wywołanie może zakończyć się dla każdej odebranej wiadomości.