IReplyChannel.WaitForRequest(TimeSpan) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した期間が経過する前に要求メッセージを受信するかどうかを示す値を返します。
public:
bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest (TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean
パラメーター
戻り値
指定した期間が経過する前に要求を受信する場合は true
、それ以外の場合は false
。
例
このメソッドを実装する方法を次のコードに示します。
public bool WaitForRequest(TimeSpan timeout)
{
return this.InnerChannel.WaitForRequest(timeout);
}
注釈
WaitForRequest(TimeSpan) を呼び出しても、要求メッセージの受信または処理は行われません。
BeginWaitForRequest(TimeSpan, AsyncCallback, Object) メソッドは、主にユーザーがトランザクションを使用してメッセージを受信するようなトランザクション処理のシナリオで使用されます。 ReceiveRequest だけをそのために普通に使用するときは、トランザクションを作成して、ReceiveRequest を呼び出す必要があります。この場合は、トランザクションがタイムアウトする前にメッセージが到着することを期待するしかなく、メッセージが到着しない可能性もあります。
代わりに、WaitForRequest(TimeSpan) を呼び出してタイムアウト (無限も可能) を指定し、メッセージが到着してからトランザクションを開き、ReceiveRequest を呼び出して、トランザクションがタイムアウトする前に確実にメッセージを返すこともできます。
キューにメッセージが到達するまで待機する間、現在のスレッドがブロックされてもいい場合は、WaitForRequest(TimeSpan) を使用します。 スレッドは、指定した timeout
までブロックされます。 待機せずにアプリケーションの処理を継続する必要がある場合は、非同期の BeginWaitForRequest(TimeSpan, AsyncCallback, Object) メソッドを使用します。
注意 (実装者)
指定した false
が経過した場合、操作は timeout
を返します。
適用対象
.NET