SoapMessageStage Enumeração

Definição

Especifica a fase de processamento de uma mensagem SOAP.

public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage = 
Public Enum SoapMessageStage
Herança
SoapMessageStage

Campos

Name Valor Description
BeforeSerialize 1

A fase imediatamente anterior a SoapMessage ser serializada.

AfterSerialize 2

O estágio imediatamente após a SoapMessage é serializado, mas antes da mensagem SOAP ser enviada pelo fio.

BeforeDeserialize 4

A etapa imediatamente anterior a SoapMessage é desserializada da mensagem SOAP enviada através da rede para um objeto.

AfterDeserialize 8

A etapa imediatamente após a SoapMessage é desserializada de uma mensagem SOAP para um objeto.

Exemplos

O exemplo seguinte é um fragmento de uma extensão SOAP, que implementa o ProcessMessage método. Dentro do ProcessMessage método, o processamento de um SoapMessage é tratado especificamente para o 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

Observações

O ASP.NET fornece um mecanismo de extensibilidade para chamar Serviços Web usando SOAP. O mecanismo de extensibilidade gira em torno de um SoapExtension que pode inspecionar ou modificar uma mensagem em fases específicas do processamento de mensagens tanto no cliente como no servidor. Esta enumeração especifica a fase de processamento do SoapMessage.

A tabela seguinte mostra quando cada etapa ocorre durante o processamento do cliente e servidor SOAP.

SoapMessageStage Durante SoapClientMessage o processamento Durante SoapServerMessage o processamento
AfterDeserialize Ocorre depois de a mensagem SOAP contendo a resposta da invocação de um método de serviço Web XML ter sido deserializada para um objeto, mas antes do cliente receber os resultados deserializados. Ocorre depois de um pedido de rede contendo uma mensagem SOAP que representa a invocação de um método de serviço Web XML ser desserializado num objeto, mas antes de o método nesse objeto que representa o método do serviço Web XML ser chamado.
AfterSerialize Ocorre depois de um cliente invocar um método de serviço Web XML e os parâmetros serem serializados em XML, mas antes de a mensagem SOAP contendo esse XML ser enviada pela rede. Ocorre após o retorno de um método de serviço Web XML e quaisquer valores de retorno serem serializados em XML, mas antes de a mensagem SOAP contendo esse XML ser enviada pela rede.
BeforeDeserialize Ocorre depois de a resposta de rede a invocação de um método de serviço Web XML ter sido recebida, mas pouco antes de a resposta contendo a mensagem SOAP ser desserializada para um objeto. Ocorre depois de um pedido de rede contendo a mensagem SOAP para uma invocação de método de serviço Web XML ser recebido pelo servidor Web, mas antes da mensagem SOAP ser desserializada para um objeto.
BeforeSerialize Ocorre após um cliente invocar um método de serviço Web XML, mas antes da invocação ser serializada. Ocorre após o retorno da invocação ao método do serviço Web XML, mas antes dos valores de retorno serem serializados e enviados pelo cabo de volta ao cliente.

Aplica-se a

Ver também