IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
開始一個非同步等待訊息到達的操作,該操作包含指定的逾時及狀態物件。
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
參數
- callback
- AsyncCallback
AsyncCallback接收非同步操作完成通知的代理。
- state
- Object
由應用程式指定的物件,包含與非同步操作相關的狀態資訊。
傳回
該 IAsyncResult 是非同步操作,等待訊息到達。
例外狀況
timeout在操作完成前,規定值已超過。
指定的逾時時間小於零。
範例
以下程式碼說明如何實作此方法:
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
備註
如果你需要應用程式處理繼續而不等訊息送達,請使用非同步 BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 方法。 當目前執行緒在等待訊息到達隊列時被阻塞,則可使用同步 WaitForMessage(TimeSpan) 方法。 執行緒被阻塞至指定的 timeout。
此方法透過回撥接收事件處理程序的身份通知。 直到通道中出現訊息或逾時時,操作才算完成。
給實施者的注意事項
如果超過指定false值,該操作才會回傳timeout,而不是逾時例外。