IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) メソッド

定義

指定したタイムアウトと状態オブジェクトが関連付けられた、メッセージから到着までの非同期待機操作を開始します。

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 を超えると、操作が完了します。

指定されたタイムアウトが 0 未満です。

次のコードは、このメソッドを実装する方法を示しています。

public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}

注釈

メッセージが到着するのを待たずにアプリケーション処理を続行する必要がある場合は、非同期 BeginWaitForMessage(TimeSpan, AsyncCallback, Object) メソッドを使用します。 メッセージがキューに到着するのを待機している間に、現在のスレッドがブロックされるのを許容できる場合は、同期 WaitForMessage(TimeSpan) メソッドを使用します。 スレッドは、指定した timeoutまでブロックされます。

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

注意 (実装者)

指定したfalseを超えた場合、操作はタイムアウト例外ではなく、timeoutを返します。

適用対象