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) 方法。
這個方法會透過回呼 (Callback),接收有關作業之事件處理常式身分識別的通知。 在訊息可以於通道中使用或發生逾時之後,作業才會完成。
給實施者的注意事項
如果超出了指定的 false
,作業會傳回 timeout
。