Udostępnij za pośrednictwem


IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) Metoda

Definicja

Rozpoczyna operację asynchroniczną w celu odebrania komunikatu żądania o określonym limicie czasu i skojarzonym z nim obiekcie stanu.

public:
 IAsyncResult ^ BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginTryReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginTryReceiveRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginTryReceiveRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

timeout
TimeSpan

Określa TimeSpan , jak długo operacja żądania odbioru musi zostać ukończona przed przekroczeniem limitu czasu i zwróceniem false.

callback
AsyncCallback

Delegat AsyncCallback , który odbiera powiadomienie o asynchronicznym odebraniu, że operacja żądania zostanie ukończona.

state
Object

Obiekt określony przez aplikację, który zawiera informacje o stanie skojarzone z asynchronicznym odbieraniem operacji żądania.

Zwraca

Element IAsyncResult , który odwołuje się do asynchronicznej operacji odbierania żądania.

Przykłady

Poniższy kod ilustruje sposób implementacji tej metody:

public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
    result.Begin();
    return result;
}

Uwagi

Użyj metody asynchronicznej BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) , jeśli potrzebujesz przetwarzania aplikacji, aby kontynuować bez oczekiwania. Użyj jednej z metod synchronicznych TryReceiveRequest(TimeSpan, RequestContext) , gdy dopuszczalne jest zablokowanie bieżącego wątku podczas odpowiadania na komunikat żądania lub do momentu przekroczenia interwału limitu czasu.

Ta metoda odbiera powiadomienie za pośrednictwem wywołania zwrotnego tożsamości programu obsługi zdarzeń dla operacji. Operacja nie zostanie ukończona do momentu udostępnienia komunikatu w kanale lub przekroczenia limitu czasu.

Uwagi dotyczące implementowania

Operacja zwraca false wartość, jeśli określona timeout wartość zostanie przekroczona.

Dotyczy