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
。