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