IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Начинает асинхронную операцию получения сообщения запроса, с которым связано определенное время ожидания и объект состояния.
public:
IAsyncResult ^ BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginTryReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginTryReceiveRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginTryReceiveRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- timeout
- TimeSpan
Объект TimeSpan, указывающий, за какое время должно завершиться получение операции запроса, прежде чем истечет время ожидания и будет возвращено значение false
.
- callback
- AsyncCallback
Делегат AsyncCallback, принимающий уведомление об асинхронном получении, завершенном операцией запроса.
- state
- Object
Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронным получением операции запроса.
Возвращаемое значение
Объект IAsyncResult, ссылающийся на асинхронное получение операции запроса.
Примеры
В следующем примере кода показано, как реализовать этот метод.
public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
result.Begin();
return result;
}
Комментарии
Если работа приложения должна продолжаться без ожидания, используйте асинхронный метод BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object). Если допустима блокировка текущего потока до ответа на сообщение запроса или до истечения времени ожидания, используйте один из синхронных методов TryReceiveRequest(TimeSpan, RequestContext).
Посредством обратного вызова этот метод получает уведомление об идентификации обработчика событий для операции. Операция остается незавершенной, пока сообщение не станет доступным в канале или пока не истечет время ожидания.
Примечания для тех, кто реализует этот метод
Операция возвращает значение false
, если превышено указанное время ожидания timeout
.