IReplyChannel.BeginWaitForRequest(TimeSpan, AsyncCallback, Object) Metoda

Definicja

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

timeout
TimeSpan

Określa TimeSpan interwał czasu oczekiwania na odebranie dostępnego żądania.

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

IAsyncResult

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 timeoutelementu .

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.

Dotyczy