IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回值,這個值會表示要求是否是在超過已指定時間間隔之前所接收。
public:
bool TryReceiveRequest(TimeSpan timeout, [Runtime::InteropServices::Out] System::ServiceModel::Channels::RequestContext ^ % context);
public bool TryReceiveRequest (TimeSpan timeout, out System.ServiceModel.Channels.RequestContext context);
abstract member TryReceiveRequest : TimeSpan * RequestContext -> bool
Public Function TryReceiveRequest (timeout As TimeSpan, ByRef context As RequestContext) As Boolean
參數
- context
- RequestContext
所接收的 RequestContext。
傳回
如果在超過指定時間間隔之前接收到要求訊息,則為 true
,否則為 false
。
範例
下列程式碼說明如何實作這個方法:
public bool TryReceiveRequest(TimeSpan timeout, out RequestContext requestContext)
{
bool result;
while (true)
{
result = this.InnerChannel.TryReceiveRequest(timeout, out requestContext);
if (!result || ProcessRequestContext(ref requestContext))
{
break;
}
}
return result;
}
備註
當目前的執行緒可接受進行封鎖並同時等候要求訊息到達佇列時,請使用 TryReceiveRequest(TimeSpan, RequestContext)。 執行緒會持續封鎖,直到指定的 timeout
為止。 當您需要應用程式繼續執行而不要等候,請使用非同步的 BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) 方法。
給實施者的注意事項
如果超出了指定的 false
,作業會傳回 timeout
。