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を返します。