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

Параметры

message
Message

Передаваемый запрос Message.

callback
AsyncCallback

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

state
Object

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

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

IAsyncResult

Объект 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

Параметры

message
Message

Передаваемый запрос Message.

timeout
TimeSpan

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

callback
AsyncCallback

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

state
Object

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

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

IAsyncResult

Объект 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.

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