Sdílet prostřednictvím


IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) Metoda

Definice

Zahájí asynchronní operaci, která přijme zprávu požadavku, která má přiřazený zadaný časový limit a objekt stavu.

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

Určuje TimeSpan , jak dlouho se má operace žádosti o přijetí dokončit, než vyprší časový limit a vrátí false.

callback
AsyncCallback

Delegát AsyncCallback , který obdrží oznámení o asynchronním přijetí, že operace požadavku je dokončena.

state
Object

Objekt určený aplikací, který obsahuje informace o stavu spojené s asynchronním příjmem operace požadavku.

Návraty

Odkazuje IAsyncResult na operaci asynchronního příjmu požadavku.

Příklady

Následující kód ukazuje, jak tuto metodu implementovat:

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

Poznámky

Asynchronní BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) metodu použijte, pokud potřebujete, aby zpracování aplikace pokračovalo bez čekání. Použijte jednu z synchronních TryReceiveRequest(TimeSpan, RequestContext) metod, pokud je přijatelné, aby aktuální vlákno bylo blokováno během odpovědi na zprávu požadavku nebo dokud není překročen časový limit.

Tato metoda prostřednictvím zpětného volání obdrží oznámení o identitě obslužné rutiny události pro operaci. Operace není dokončena, dokud se v kanálu nezobrazí zpráva nebo dokud nedojde k vypršení časového limitu.

Poznámky pro implementátory

Operace vrátí false , pokud je překročena zadaná timeout hodnota.

Platí pro