IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) メソッド

定義

指定したタイムアウトと状態オブジェクトが関連付けられている要求メッセージを受信する非同期操作を開始します。

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

パラメーター

timeout
TimeSpan

タイムアウトしてTimeSpanを返す前に受信要求操作を完了する必要がある時間を指定するfalse

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) メソッドのいずれかを使用します。

このメソッドは、コールバックを介して、操作のイベント ハンドラーの ID の通知を受け取ります。 チャネルでメッセージが使用可能になるか、タイムアウトが発生するまで、操作は完了しません。

注意 (実装者)

指定したfalseを超えた場合、操作はtimeoutを返します。

適用対象