IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 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 čekání na přijetí zprávy, která má přiřazený zadaný časový limit a objekt stavu.
public:
IAsyncResult ^ BeginWaitForMessage(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForMessage (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForMessage : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForMessage (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, která čeká na doručení zprávy.
Výjimky
timeout
Zadané hodnoty jsou překročeny před dokončením operace.
Zadaný časový limit je menší než nula.
Příklady
Následující kód ukazuje, jak implementovat tuto metodu:
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
Poznámky
Pokud potřebujete, aby zpracování aplikace pokračovalo bez čekání na doručení zprávy, použijte asynchronní BeginWaitForMessage(TimeSpan, AsyncCallback, Object) metodu. Synchronní WaitForMessage(TimeSpan) metodu použijte, pokud je přijatelné, aby aktuální vlákno bylo blokováno, zatímco čeká na doručení zprávy do fronty. Vlákno je blokováno až do zadaného timeout
.
Tato metoda obdrží oznámení prostřednictvím zpětného volání identity obslužné rutiny události pro operaci. Operace se nedokončuje, dokud se v kanálu nezobrazí zpráva nebo dojde k vypršení časového limitu.
Poznámky pro implementátory
Operace se vrátí false
, pokud je zadaná timeout
hodnota překročena, nikoli výjimka časového limitu.