IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 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.
Rozpoczyna asynchroniczną operację wait-for-a-message-to-arrive, która ma określony limit czasu i skojarzony z nim obiekt stanu.
public:
IAsyncResult ^ BeginWaitForMessage(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForMessage (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForMessage : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForMessage (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- callback
- AsyncCallback
Delegat AsyncCallback , który odbiera powiadomienie o zakończeniu operacji asynchronicznej.
- state
- Object
Obiekt określony przez aplikację zawierający informacje o stanie skojarzone z operacją asynchroniczną.
Zwraca
Odwołuje IAsyncResult się do operacji asynchronicznej, aby poczekać na nadejście komunikatu.
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 IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
Uwagi
Użyj metody asynchronicznej BeginWaitForMessage(TimeSpan, AsyncCallback, Object) , jeśli potrzebujesz przetwarzania aplikacji, aby kontynuować bez oczekiwania na nadejście komunikatu. Użyj metody synchronicznej WaitForMessage(TimeSpan) , gdy jest akceptowalna, aby bieżący wątek był blokowany podczas oczekiwania na przybycie komunikatu do kolejki. Wątek jest blokowany do określonego timeout
elementu .
Ta metoda odbiera powiadomienie za pośrednictwem wywołania zwrotnego tożsamości programu obsługi zdarzeń dla operacji. Operacja nie zostanie ukończona, dopóki komunikat nie stanie się dostępny w kanale lub upłynął limit czasu.
Uwagi dotyczące implementowania
Operacja zwraca wartość false
, jeśli określona timeout
wartość jest przekroczona, a nie wyjątek przekroczenia limitu czasu.