SoapMessageStage Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает стадию обработки сообщения SOAP.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Наследование
Поля
AfterDeserialize | 8 | Стадия, следующая непосредственно после десериализации SoapMessage из сообщения SOAP в объект. |
AfterSerialize | 2 | Стадия, выполняющаяся сразу после сериализации сообщения SoapMessage, но до отправки сообщения SOAP по сети. |
BeforeDeserialize | 4 | Стадия, предшествующая десериализации сообщения SoapMessage из сообщения SOAP, отправленного по сети в объект. |
BeforeSerialize | 1 | Стадия, непосредственно предшествующая сериализации сообщения SoapMessage. |
Примеры
В следующем примере показан фрагмент расширения 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, но до сериализации возвращаемых значений и отправки по сети обратно клиенту. |