Sdílet prostřednictvím


IInputChannel.BeginReceive Metoda

Definice

Zahájí asynchronní operaci příjmu.

Přetížení

BeginReceive(AsyncCallback, Object)

Zahájí asynchronní operaci, která přijme zprávu, která má přidružený objekt stavu.

BeginReceive(TimeSpan, AsyncCallback, Object)

Začne asynchronní operaci přijmout zprávu, která má zadaný časový limit a stav objektu přidruženého k němu.

Poznámky

Asynchronní BeginReceive metodu použijte, pokud chcete, aby zpracování aplikace pokračovalo bez čekání na přijetí požadavku. Synchronní Receive metodu použijte, pokud je přijatelné, aby aktuální vlákno bylo blokováno, dokud není přijata zpráva požadavku nebo nebyl překročen časový interval určený parametrem timeout . Asynchronní operace je k dispozici s nebo bez explicitního vypršení časového limitu.

BeginReceive(AsyncCallback, Object)

Zdroj:
IInputChannel.cs

Zahájí asynchronní operaci, která přijme zprávu, která má přidružený objekt stavu.

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

Parametry

callback
AsyncCallback

Delegát AsyncCallback , který obdrží oznámení o dokončení asynchronní operace.

state
Object

Objekt určený aplikací, který obsahuje informace o stavu přidružené k asynchronní operaci.

Návraty

Odkazuje IAsyncResult na asynchronní příjem zpráv.

Příklady

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

public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
    return BeginReceive(DefaultReceiveTimeout, callback, state);
}

Poznámky

Asynchronní BeginReceive metodu použijte, pokud chcete, aby zpracování aplikace pokračovalo bez čekání na přijetí požadavku. Synchronní Receive metodu použijte, pokud je přijatelné, aby aktuální vlákno bylo blokováno, dokud není přijata zpráva požadavku nebo nebyl překročen časový interval určený parametrem timeout . Asynchronní operace je k dispozici s nebo bez explicitního vypršení časového limitu.

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 nebude zpráva k dispozici v kanálu.

Platí pro

BeginReceive(TimeSpan, AsyncCallback, Object)

Zdroj:
IInputChannel.cs

Začne asynchronní operaci přijmout zprávu, která má zadaný časový limit a stav objektu přidruženého k němu.

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

Parametry

timeout
TimeSpan

Určuje TimeSpan interval čekání na zpřístupnění zprávy.

callback
AsyncCallback

Delegát AsyncCallback , který obdrží oznámení o dokončení asynchronní operace.

state
Object

Objekt určený aplikací, který obsahuje informace o stavu přidružené k asynchronní operaci.

Návraty

Odkazuje IAsyncResult na asynchronní operaci příjmu.

Výjimky

Před dokončením operace dojde k překročení zadané timeout hodnoty.

Zadaný časový limit je menší než nula.

Příklady

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

public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
    result.Begin();
    return result;
}

Poznámky

Asynchronní BeginReceive metodu použijte, pokud chcete, aby zpracování aplikace pokračovalo bez čekání na přijetí požadavku. Synchronní Receive metodu použijte, pokud je přijatelné, aby aktuální vlákno bylo blokováno, dokud není přijata zpráva požadavku nebo nebyl překročen časový interval určený parametrem timeout . Asynchronní operace je k dispozici s nebo bez explicitního vypršení časového limitu.

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 vyvolá výjimku , pokud je před dokončením TimeoutException překročena zadaná timeout hodnota.

Platí pro