SoapMessageStage Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje fázi zpracování zprávy SOAP.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- Dědičnost
Pole
AfterDeserialize | 8 | Fáze těsně po SoapMessage deserializaci ze zprávy SOAP do objektu. |
AfterSerialize | 2 | Fáze těsně po SoapMessage serializaci, ale před odesláním zprávy SOAP prostřednictvím drátu. |
BeforeDeserialize | 4 | Fáze těsně před objektem SoapMessage je deserializována ze zprávy SOAP odeslané přes síť do objektu. |
BeforeSerialize | 1 | Fáze těsně před SoapMessage serializovanou fází. |
Příklady
Následující příklad je fragment rozšíření SOAP, který implementuje metodu ProcessMessage . V rámci ProcessMessage metody se zpracovává zpracování objektu SoapMessage specifického SoapMessageStagepro .
// 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
Poznámky
ASP.NET poskytuje mechanismus rozšiřitelnosti pro volání webových služeb pomocí protokolu SOAP. Mechanismus rozšiřitelnosti se točí kolem objektu SoapExtension , který může kontrolovat nebo upravovat zprávu v určitých fázích zpracování zpráv na klientovi nebo na serveru. Tento výčet určuje fázi SoapMessagezpracování .
Následující tabulka ukazuje, kdy k jednotlivým fázím dochází během zpracování klienta a serveru SOAP.
SoapMessageStage |
Během SoapClientMessage zpracování | Během SoapServerMessage zpracování |
---|---|---|
AfterDeserialize |
Nastane po soap zpráva obsahující odpověď z vyvolání metody webové služby XML byla deserializována do objektu, ale před klientem obdrží deserializované výsledky. | Nastane poté, co síťový požadavek obsahující zprávu SOAP představující vyvolání metody webové služby XML je deserializována do objektu, ale před metodou na tento objekt představující metodu webové služby XML je volána. |
AfterSerialize |
Nastane poté, co klient vyvolá metodu webové služby XML a parametry jsou serializovány do XML, ale před soap zpráva obsahující xml je odeslána přes síť. | Dochází poté, co metoda webové služby XML vrátí a všechny návratové hodnoty jsou serializovány do XML, ale před soap zpráva obsahující xml je odeslána přes síť. |
BeforeDeserialize |
Dochází po přijetí síťové odpovědi z vyvolání metody webové služby XML, ale těsně před odpověď obsahující zprávu SOAP je deserializován do objektu. | Nastane po síťovém požadavku obsahujícím zprávu SOAP pro vyvolání metody webové služby XML je přijata webovým serverem, ale před deserializování zprávy SOAP do objektu. |
BeforeSerialize |
K tomu dochází poté, co klient vyvolá metodu webové služby XML, ale před vyvoláním serializace. | Dochází po vyvolání webové služby XML metoda vrátí, ale před návratové hodnoty serializovány a odeslány přes drát zpět do klienta. |