IRequestChannel.BeginRequest Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Начинает асинхронную операцию для передачи сообщения запроса на сторону ответа в ходе обмена сообщениями типа "запрос-ответ".
Перегрузки
BeginRequest(Message, AsyncCallback, Object) |
Начинает асинхронную операцию для передачи сообщения запроса на сторону ответа в ходе обмена сообщениями типа "запрос-ответ". |
BeginRequest(Message, TimeSpan, AsyncCallback, Object) |
Начинает асинхронную операцию для передачи сообщения запроса на сторону ответа в ходе обмена сообщениями типа «запрос-ответ» в течение заданного промежутка времени. |
BeginRequest(Message, AsyncCallback, Object)
Начинает асинхронную операцию для передачи сообщения запроса на сторону ответа в ходе обмена сообщениями типа "запрос-ответ".
public:
IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- callback
- AsyncCallback
Делегат AsyncCallback, принимающий уведомление о завершении асинхронной операции передачи сообщения запроса.
- state
- Object
Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией передачи сообщения запроса.
Возвращаемое значение
Объект IAsyncResult, который ссылается на асинхронную передачу сообщения.
Примеры
В следующем примере кода показано, как реализовать этот метод.
public IAsyncResult BeginRequest(Message message,
AsyncCallback callback, object state)
{
return this.InnerChannel.BeginRequest(message,
callback, state);
}
Комментарии
Если размер сообщения запроса превышает максимальный размер сообщения, допускаемый используемой привязкой, создается исключение QuotaExceededException. Максимальный размер сообщения задается свойством MaxReceivedMessageSize. Значение по умолчанию — 65 536 байт.
Применяется к
BeginRequest(Message, TimeSpan, AsyncCallback, Object)
Начинает асинхронную операцию для передачи сообщения запроса на сторону ответа в ходе обмена сообщениями типа «запрос-ответ» в течение заданного промежутка времени.
public:
IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Параметры
- timeout
- TimeSpan
Объект TimeSpan, который задает промежуток времени, в течение которого должен быть получен ответ.
- callback
- AsyncCallback
Делегат AsyncCallback, принимающий уведомление о завершении асинхронной операции передачи сообщения запроса.
- state
- Object
Задаваемый приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией передачи сообщения запроса.
Возвращаемое значение
Объект IAsyncResult, который ссылается на асинхронную передачу сообщения.
Примеры
В следующем примере кода показано, как реализовать этот метод.
public IAsyncResult BeginRequest(Message message,
TimeSpan timeout, AsyncCallback callback,
object state)
{
return this.InnerChannel.BeginRequest(message,
timeout, callback, state);
}
Комментарии
Если размер сообщения запроса превышает максимальный размер сообщения, допускаемый используемой привязкой, должно создаваться исключение QuotaExceededException. Максимальный размер сообщения задается свойством MaxReceivedMessageSize. Значение по умолчанию — 65 536 байт.
Это значение используется, если параметр timeout
передается во время вызова функции. Если свойство SendTimeout задано в привязке, значение в привязке используется, если при вызове функции не задан параметр timeout
.
DefaultSendTimeout используется, если период ожидания не задан ни в привязке, ни при вызове функции. Значение по умолчанию — 1 минута.
Примечания для тех, кто реализует этот метод
Операция должна создать исключение TimeoutException, если до завершения операции превышено заданное значение параметра timeout
.