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