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