IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) Метод

Определение

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

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

Параметры

timeout
TimeSpan

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

callback
AsyncCallback

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

state
Object

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

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

IAsyncResult

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

Исключения

Указанное значение timeout превышено до завершения операции.

Заданное значение времени ожидания меньше нуля.

Примеры

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

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

Комментарии

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

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

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

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

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