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
が経過しました。
指定したタイムアウトの値が 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
を返します。