SoapMessageStage Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die Verarbeitungsphase einer SOAP-Nachricht an.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Vererbung
Felder
| Name | Wert | Beschreibung |
|---|---|---|
| BeforeSerialize | 1 | Die Phase vor der SoapMessage Serialisierung. |
| AfterSerialize | 2 | Die Phase unmittelbar nach der SoapMessage Serialisierung, aber bevor die SOAP-Nachricht über das Kabel gesendet wird. |
| BeforeDeserialize | 4 | Die Phase unmittelbar vor dem SoapMessage Deserialisieren der SOAP-Nachricht, die über das Netzwerk gesendet wird, in ein Objekt. |
| AfterDeserialize | 8 | Die Phase unmittelbar nach dem SoapMessage Deserialisieren einer SOAP-Nachricht in ein Objekt. |
Beispiele
Das folgende Beispiel ist ein Fragment einer SOAP-Erweiterung, das die ProcessMessage Methode implementiert. Innerhalb der ProcessMessage Methode wird die Verarbeitung einer SoapMessage spezifisch für die 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
Hinweise
ASP.NET stellt einen Erweiterbarkeitsmechanismus zum Aufrufen von Webdiensten mithilfe von SOAP bereit. Der Erweiterbarkeitsmechanismus dreht sich um eine SoapExtension Nachricht, die eine Nachricht in bestimmten Phasen der Nachrichtenverarbeitung entweder auf dem Client oder auf dem Server prüfen oder ändern kann. Diese Aufzählung gibt die Verarbeitungsphase der SoapMessage.
Die folgende Tabelle zeigt, wann jede Phase während der SOAP-Client- und Serververarbeitung auftritt.
SoapMessageStage |
Während der SoapClientMessage Verarbeitung | Während der SoapServerMessage Verarbeitung |
|---|---|---|
AfterDeserialize |
Tritt auf, nachdem die SOAP-Nachricht, die die Antwort einer XML-Webdienstmethode enthält, in ein Objekt deserialisiert wurde, aber vor dem Empfang der deserialisierten Ergebnisse vom Client. | Tritt auf, nachdem eine Netzwerkanforderung mit einer SOAP-Nachricht, die einen Aufruf einer XML-Webdienstmethode darstellt, in ein Objekt deserialisiert wird, aber vor der Methode für dieses Objekt, das die XML-Webdienstmethode darstellt, aufgerufen wird. |
AfterSerialize |
Tritt ein, nachdem ein Client eine XML-Webdienstmethode aufruft und die Parameter in XML serialisiert werden, aber vor der SOAP-Nachricht, die diesen XML-Code enthält, über das Netzwerk gesendet wird. | Tritt auf, nachdem eine XML-Webdienstmethode zurückgegeben wird und alle Rückgabewerte in XML serialisiert werden, aber vor der SOAP-Nachricht, die diesen XML-Code enthält, über das Netzwerk gesendet wird. |
BeforeDeserialize |
Tritt ein, nachdem die Netzwerkantwort einer XML-Webdienstmethode empfangen wurde, aber unmittelbar bevor die Antwort, die die SOAP-Nachricht enthält, in ein Objekt deserialisiert wird. | Tritt auf, nachdem eine Netzwerkanforderung, die die SOAP-Nachricht für einen AUFRUF einer XML-Webdienstmethode enthält, vom Webserver empfangen wird, aber vor dem Deserialisieren der SOAP-Nachricht in ein Objekt. |
BeforeSerialize |
Tritt auf, nachdem ein Client eine XML-Webdienstmethode aufruft, aber bevor der Aufruf serialisiert wird. | Tritt auf, nachdem der Aufruf an die XML-Webdienstmethode zurückgegeben wurde, aber vor der Serialisierung der Rückgabewerte, die über die Verbindung zurück an den Client gesendet werden. |