SoapMessageStage Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u de verwerkingsfase van een SOAP-bericht.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Overname
Velden
| Name | Waarde | Description |
|---|---|---|
| BeforeSerialize | 1 | De fase vlak voordat een SoapMessage geserialiseerd wordt. |
| AfterSerialize | 2 | De fase vlak nadat een SoapMessage is geserialiseerd, maar voordat het SOAP-bericht via de kabel wordt verzonden. |
| BeforeDeserialize | 4 | De fase vlak voordat een SoapMessage wordt gedeserialiseerd vanuit het SOAP-bericht dat via het netwerk naar een object wordt verzonden. |
| AfterDeserialize | 8 | De fase vlak nadat een SoapMessage soap-bericht is gedeserialiseerd in een object. |
Voorbeelden
Het volgende voorbeeld is een fragment van een SOAP-extensie, waarmee de ProcessMessage methode wordt geïmplementeerd. Binnen de ProcessMessage methode wordt de verwerking van een SoapMessage specifiek voor de SoapMessageStagemethode verwerkt.
// 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
Opmerkingen
ASP.NET biedt een uitbreidbaarheidsmechanisme voor het aanroepen van webservices met SOAP. Het uitbreidbaarheidsmechanisme draait om een SoapExtension bericht dat in specifieke fasen in de berichtverwerking op de client of de server kan worden gecontroleerd of gewijzigd. Deze opsomming geeft de verwerkingsfase van de SoapMessage.
In de volgende tabel ziet u wanneer elke fase plaatsvindt tijdens de verwerking van de SOAP-client en -server.
SoapMessageStage |
Tijdens SoapClientMessage de verwerking | Tijdens SoapServerMessage de verwerking |
|---|---|---|
AfterDeserialize |
Treedt op nadat het SOAP-bericht met het antwoord van een XML-webservicemethode aanroep is gedeserialiseerd in een object, maar voordat de client deserialized resultaten ontvangt. | Treedt op nadat een netwerkaanvraag met een SOAP-bericht dat een AANroep van de XML-webservicemethode vertegenwoordigt, wordt gedeserialiseerd in een object, maar voordat de methode voor dat object die de XML-webservicemethode vertegenwoordigt, wordt aangeroepen. |
AfterSerialize |
Vindt plaats nadat een client een XML-webservicemethode aanroept en de parameters worden geserialiseerd in XML, maar voordat het SOAP-bericht met die XML via het netwerk wordt verzonden. | Vindt plaats nadat een XML-webservicemethode wordt geretourneerd en eventuele retourwaarden in XML worden geserialiseerd, maar vóór het SOAP-bericht dat dat XML bevat, via het netwerk wordt verzonden. |
BeforeDeserialize |
Treedt op nadat het netwerkantwoord van een XML-webservicemethodeaanroep is ontvangen, maar net voordat het antwoord met het SOAP-bericht wordt gedeserialiseerd in een object. | Treedt op nadat een netwerkaanvraag met het SOAP-bericht voor een aanroep van de XML-webservicemethode is ontvangen door de webserver, maar voordat het SOAP-bericht in een object wordt gedeserialiseerd. |
BeforeSerialize |
Vindt plaats nadat een client een XML-webservicemethode aanroept, maar voordat de aanroep wordt geserialiseerd. | Vindt plaats nadat de aanroep naar de XML-webservicemethode wordt geretourneerd, maar voordat de retourwaarden worden geserialiseerd en via de kabel naar de client worden verzonden. |