IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 方法

定义

开始一个异步等待-a-message-to-arrive 操作,该操作具有与之关联的指定超时和状态对象。

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

参数

timeout
TimeSpan

指定 TimeSpan 等待消息可用的时间间隔。

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,而不是超时异常。

适用于