IReplyChannel.WaitForRequest(TimeSpan) 方法

定義

傳回值,這個值會表示要求訊息是否是在超過已指定時間間隔之前所接收。

public:
 bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest (TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean

參數

timeout
TimeSpan

TimeSpan,指定必須在逾時和傳回 false 多久之前完成接收要求作業。

傳回

如果在超過指定時間間隔之前接收到要求,則為 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

適用於