IReplyChannel.BeginWaitForRequest(TimeSpan, AsyncCallback, Object) Метод

Определение

Начинает асинхронную операцию запроса, с которой связано определенное время ожидания и объект состояния.

public:
 IAsyncResult ^ BeginWaitForRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

timeout
TimeSpan

Объект TimeSpan, который задает время ожидания получения доступного запроса.

callback
AsyncCallback

Делегат AsyncCallback, принимающий уведомление об асинхронном получении, завершенном операцией запроса.

state
Object

Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронным получением операции запроса.

Возвращаемое значение

IAsyncResult

Объект IAsyncResult, который ссылается на асинхронную операцию ожидания прихода сообщения запроса.

Примеры

В следующем примере кода показано, как реализовать этот метод.

public IAsyncResult BeginWaitForRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginWaitForRequest(timeout, callback, state);
}

Комментарии

Если текущий поток можно заблокировать, пока ожидается поступление в очередь сообщения запроса, используйте синхронный метод WaitForRequest(TimeSpan). Поток заблокирован вплоть до указанного значения timeout.

Посредством обратного вызова этот метод получает уведомление об идентификации обработчика событий для операции. Операция остается незавершенной, пока сообщение запроса не станет доступным в канале или пока не истечет время ожидания.

Примечания для тех, кто реализует этот метод

Операция возвращает значение false, если превышено указанное время ожидания timeout.

Применяется к