Share via


IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) Metode

Definisi

Mengembalikan nilai yang menunjukkan apakah permintaan diterima sebelum interval waktu yang ditentukan berlalu.

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

Parameter

timeout
TimeSpan

TimeSpan yang menentukan berapa lama penerimaan operasi permintaan harus diselesaikan sebelum waktu habis dan mengembalikan false.

context
RequestContext

Yang RequestContext diterima.

Mengembalikan

true jika pesan permintaan diterima sebelum interval waktu yang ditentukan berlalu; jika tidak false.

Contoh

Kode berikut mengilustrasikan cara menerapkan metode ini:

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;
}

Keterangan

Gunakan TryReceiveRequest(TimeSpan, RequestContext) ketika dapat diterima agar utas saat ini diblokir saat menunggu pesan permintaan tiba dalam antrean. Utas diblokir hingga yang ditentukan timeout. Jika Anda memerlukan pemrosesan aplikasi untuk melanjutkan tanpa menunggu, gunakan metode asinkron BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) .

Catatan Bagi Implementer

Operasi mengembalikan false jika yang ditentukan timeout terlampaui.

Berlaku untuk