SoapMessageStage Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa etap przetwarzania komunikatu PROTOKOŁU SOAP.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Dziedziczenie
Pola
AfterDeserialize | 8 | Etap tuż po wykonaniu SoapMessage deserializacji z komunikatu PROTOKOŁU SOAP do obiektu. |
AfterSerialize | 2 | Etap tuż po SoapMessage serializacji, ale przed wysłaniem komunikatu SOAP za pośrednictwem przewodu. |
BeforeDeserialize | 4 | Etap tuż przed SoapMessage deserializacji z komunikatu PROTOKOŁU SOAP wysyłanego przez sieć do obiektu. |
BeforeSerialize | 1 | Etap tuż przed SoapMessage serializacji. |
Przykłady
Poniższy przykład to fragment rozszerzenia protokołu SOAP, który implementuje metodę ProcessMessage . W ramach ProcessMessage metody przetwarzanie SoapMessage obiektu jest obsługiwane specyficzne dla elementu 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
Uwagi
ASP.NET zapewnia mechanizm rozszerzalności do wywoływania usług sieci Web przy użyciu protokołu SOAP. Mechanizm rozszerzalności koncentruje się wokół kontrolki SoapExtension , która może sprawdzać lub modyfikować komunikat na określonych etapach przetwarzania komunikatów na kliencie lub serwerze. Wyliczenie określa etap przetwarzania elementu SoapMessage.
W poniższej tabeli przedstawiono, kiedy każdy etap występuje podczas przetwarzania klienta i serwera protokołu SOAP.
SoapMessageStage |
Podczas SoapClientMessage przetwarzania | Podczas SoapServerMessage przetwarzania |
---|---|---|
AfterDeserialize |
Występuje po tym, jak komunikat PROTOKOŁU SOAP zawierający odpowiedź z wywołania metody usługi sieci Web XML został zdeserializowany do obiektu, ale przed klientem odbierającym zdeserializowane wyniki. | Występuje po żądaniu sieciowym zawierającym komunikat PROTOKOŁU SOAP reprezentujący wywołanie metody usługi sieci Web XML jest deserializowany do obiektu, ale przed metodą na tym obiekcie reprezentującym metodę usługi sieci Web XML jest wywoływana. |
AfterSerialize |
Występuje po wywołaniu przez klienta metody usługi sieci Web XML, a parametry są serializowane w formacie XML, ale przed komunikatem PROTOKOŁU SOAP zawierającym ten kod XML jest wysyłany przez sieć. | Występuje po zwróceniu metody usługi sieci Web XML, a wszystkie wartości zwracane są serializowane w formacie XML, ale przed komunikatem SOAP zawierającym ten kod XML jest wysyłany przez sieć. |
BeforeDeserialize |
Występuje po odebraniu odpowiedzi sieciowej z wywołania metody usługi sieci Web XML, ale tuż przed odpowiedzią zawierającą komunikat PROTOKOŁU SOAP jest deserializowany do obiektu. | Występuje po odebraniu żądania sieciowego zawierającego komunikat PROTOKOŁU SOAP dla wywołania metody usługi sieci Web XML przez serwer sieci Web, ale przed deserializacji komunikatu PROTOKOŁU SOAP do obiektu. |
BeforeSerialize |
Występuje po wywołaniu przez klienta metody usługi sieci Web XML, ale przed serializacji wywołania. | Występuje po wywołaniu metody usługi sieci Web XML zwracane, ale przed serializacji wartości zwracanych i wysyłanych za pośrednictwem przewodu z powrotem do klienta. |