SoapMessageStage Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica a fase de processamento de uma mensagem SOAP.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Herança
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. |