IReplyChannel.BeginWaitForRequest(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 operację żądania asynchronicznego, która ma określony limit czasu i skojarzony z nim obiekt stanu.
public:
IAsyncResult ^ BeginWaitForRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- callback
- AsyncCallback
Delegat AsyncCallback , który odbiera powiadomienie o asynchronicznej odbieraniu, że operacja żądania zostanie ukończona.
- state
- Object
Obiekt określony przez aplikację zawierający informacje o stanie skojarzone z asynchronicznym odbieraniem operacji żądania.
Zwraca
Element IAsyncResult , który odwołuje się do operacji asynchronicznej, aby poczekać na odebranie komunikatu żądania.
Przykłady
Poniższy kod ilustruje sposób implementowania tej metody:
public IAsyncResult BeginWaitForRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForRequest(timeout, callback, state);
}
Uwagi
Użyj metody synchronicznej WaitForRequest(TimeSpan) , gdy jest akceptowalna, aby bieżący wątek był blokowany podczas oczekiwania na odebranie komunikatu żądania 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 żądania 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.