IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen zaman aralığından önce bir isteğin alınıp alınmadığını gösteren bir değer döndürür.
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
Parametreler
- timeout
- TimeSpan
bir TimeSpan istek işleminin zaman aşımına uğramadan ve döndürülmeden false
önce ne kadar süreyle tamamlanmasının gerekdiğini belirtir.
- context
- RequestContext
Alınan RequestContext .
Döndürülenler
true
belirtilen süre dolmadan önce bir istek iletisi alınırsa; aksi takdirde false
.
Örnekler
Aşağıdaki kodda bu yöntemin nasıl uygulandığı gösterilmektedir:
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;
}
Açıklamalar
Bir istek iletisinin kuyruğa gelmesini beklerken geçerli iş parçacığının engellenmesi kabul edilebilir olduğunda kullanın TryReceiveRequest(TimeSpan, RequestContext) . İş parçacığı belirtilen timeout
değerine kadar engellenir. Uygulama işlemenin beklemeden devam etmesi gerekiyorsa zaman uyumsuz BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) yöntemini kullanın.
Uygulayanlara Notlar
Belirtilen timeout
değerin aşılması durumunda işlem döndürülüyorfalse
.