SoapMessageStage Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает этап обработки сообщения SOAP.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| BeforeSerialize | 1 | Этап непосредственно перед SoapMessage сериализацией. |
| AfterSerialize | 2 | Этап сразу после SoapMessage сериализации, но перед отправкой сообщения SOAP по проводу. |
| BeforeDeserialize | 4 | Этап незадолго до SoapMessage десериализации сообщения SOAP, отправляемого по сети в объект. |
| AfterDeserialize | 8 | Этап сразу после SoapMessage десериализации сообщения SOAP в объект. |
Примеры
В следующем примере представлен фрагмент расширения SOAP, реализующего ProcessMessage метод. В методе ProcessMessage обработка обработки объекта SoapMessage зависит от метода SoapMessageStage.
// Process the SOAP message received and write to log file.
void ProcessMessage( SoapMessage^ message )
{
switch ( message->Stage )
{
case SoapMessageStage::BeforeSerialize:
break;
case SoapMessageStage::AfterSerialize:
WriteOutput( message );
break;
case SoapMessageStage::BeforeDeserialize:
WriteInput( message );
break;
case SoapMessageStage::AfterDeserialize:
break;
default:
throw gcnew Exception( "invalid stage" );
}
}
// Process the SOAP message received and write to log file.
public override void ProcessMessage(SoapMessage message)
{
switch (message.Stage)
{
case SoapMessageStage.BeforeSerialize:
break;
case SoapMessageStage.AfterSerialize:
WriteOutput( message );
break;
case SoapMessageStage.BeforeDeserialize:
WriteInput( message );
break;
case SoapMessageStage.AfterDeserialize:
break;
default:
throw new Exception("invalid stage");
}
}
' Process the SOAP message received and write to log file.
Public Overrides Sub ProcessMessage(message As SoapMessage)
Select Case message.Stage
Case SoapMessageStage.BeforeSerialize
Case SoapMessageStage.AfterSerialize
WriteOutput(message)
Case SoapMessageStage.BeforeDeserialize
WriteInput(message)
Case SoapMessageStage.AfterDeserialize
Case Else
Throw New Exception("invalid stage")
End Select
End Sub
Комментарии
ASP.NET предоставляет механизм расширения для вызова веб-служб с помощью SOAP. Механизм расширяемости вращается вокруг SoapExtension того, что может проверять или изменять сообщение на определенных этапах обработки сообщений на клиенте или сервере. Это перечисление указывает этап обработки объекта SoapMessage.
В следующей таблице показано, когда каждый этап происходит во время обработки клиента и сервера SOAP.
SoapMessageStage |
Во время SoapClientMessage обработки | Во время SoapServerMessage обработки |
|---|---|---|
AfterDeserialize |
Происходит после того, как сообщение SOAP, содержащее ответ из вызова метода веб-службы XML, было десериализовано в объект, но до того, как клиент получает десериализированные результаты. | Происходит после того, как сетевой запрос, содержащий сообщение SOAP, представляющее вызов метода веб-службы XML, десериализируется в объект, но до метода, представляющего метод веб-службы XML, вызывается. |
AfterSerialize |
Происходит после вызова метода веб-службы XML и сериализации параметров в XML, но до сообщения SOAP, содержащего этот XML-код, отправляется по сети. | Происходит после возврата метода веб-службы XML, а все возвращаемые значения сериализуются в XML, но до сообщения SOAP, содержащего, что XML отправляется по сети. |
BeforeDeserialize |
Происходит после получения сетевого ответа от вызова метода веб-службы XML, но непосредственно перед ответом, содержащим сообщение SOAP, десериализуется в объект. | Происходит после того, как сетевой запрос, содержащий сообщение SOAP для вызова метода веб-службы XML, получается веб-сервером, но до десериализации сообщения SOAP в объект. |
BeforeSerialize |
Происходит после вызова клиента метода веб-службы XML, но до сериализации вызова. | Происходит после вызова метода веб-службы XML, но до сериализации возвращаемых значений и отправки по проводу обратно клиенту. |