IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
开始用于接收请求消息的异步操作,该操作具有指定的超时值和状态对象与之关联。
public:
IAsyncResult ^ BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginTryReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginTryReceiveRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginTryReceiveRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
参数
- callback
- AsyncCallback
AsyncCallback 委托,接收请求操作完成的异步接收的通知。
- state
- Object
一个由应用程序指定的对象,它包含与请求操作的异步接收相关联的状态信息。
返回
引用该异步接收请求操作的 IAsyncResult。
示例
下面的代码演示如何实现此方法:
public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
result.Begin();
return result;
}
注解
如果需要应用程序处理继续进行而不等待,则使用异步 BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) 方法。 如果当前线程在回复请求消息时可以被阻塞,或者一直被阻塞到超出超时间隔,则使用同步 TryReceiveRequest(TimeSpan, RequestContext) 方法之一。
此方法通过回调为操作接收事件处理程序标识的通知。 直到通道中出现消息时或发生超时时才完成操作。
实施者说明
如果超出指定的 false
,此操作返回 timeout
。