IInputChannel.BeginReceive Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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
- 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
- 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.