SoapMessageStage 열거형

정의

SOAP 메시지의 처리 단계를 지정합니다.

public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage = 
Public Enum SoapMessageStage
상속
SoapMessageStage

필드

Name Description
BeforeSerialize 1

serialize되기 직전의 SoapMessage 단계입니다.

AfterSerialize 2

직렬화된 직후 SoapMessage 의 단계이지만, SOAP 메시지가 와이어를 통해 전송되기 전의 단계입니다.

BeforeDeserialize 4

네트워크를 통해 전송된 SOAP 메시지에서 개체로 역직렬화되기 직전 SoapMessage 의 단계입니다.

AfterDeserialize 8

SOAP 메시지에서 개체로 SoapMessage 역직렬화된 직후의 단계입니다.

예제

다음 예제는 메서드를 구현하는 SOAP 확장의 조각입니다 ProcessMessage . 메서드 내에서 ProcessMessage 처리 SoapMessage 는 .에 한 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

설명

ASP.NET SOAP를 사용하여 웹 서비스를 호출하기 위한 확장성 메커니즘을 제공합니다. 확장성 메커니즘은 클라이언트 또는 서버에서 메시지 처리의 특정 단계에서 메시지를 검사하거나 수정할 수 있는 메커니즘을 중심으로 SoapExtension 진행됩니다. 이 열거형은 .의 SoapMessage처리 단계를 지정합니다.

다음 표에서는 SOAP 클라이언트 및 서버 처리 중에 각 단계가 발생하는 경우를 보여 줍니다.

SoapMessageStage 처리 중 SoapClientMessage 처리 중 SoapServerMessage
AfterDeserialize XML 웹 서비스 메서드 호출의 응답을 포함하는 SOAP 메시지가 개체로 역직렬화된 후 클라이언트가 역직렬화된 결과를 수신하기 전에 발생합니다. XML 웹 서비스 메서드 호출을 나타내는 SOAP 메시지가 포함된 네트워크 요청이 개체로 역직렬화된 후 XML 웹 서비스 메서드를 나타내는 해당 개체의 메서드가 호출되기 전에 발생합니다.
AfterSerialize 클라이언트가 XML 웹 서비스 메서드를 호출하고 매개 변수가 XML로 serialize된 후에 발생하지만 해당 XML이 포함된 SOAP 메시지가 네트워크를 통해 전송되기 전에 발생합니다. XML 웹 서비스 메서드가 반환되고 반환 값이 XML로 serialize된 후에 발생하지만 해당 XML이 포함된 SOAP 메시지가 네트워크를 통해 전송되기 전에 발생합니다.
BeforeDeserialize XML 웹 서비스 메서드 호출에서 네트워크 응답을 받은 후 SOAP 메시지를 포함하는 응답이 개체로 역직렬화되기 직전에 발생합니다. XML 웹 서비스 메서드 호출에 대한 SOAP 메시지가 포함된 네트워크 요청이 웹 서버에서 수신되었지만 SOAP 메시지가 개체로 역직렬화되기 전에 발생합니다.
BeforeSerialize 클라이언트가 XML 웹 서비스 메서드를 호출한 후 호출이 serialize되기 전에 발생합니다. XML 웹 서비스 메서드를 호출한 후 반환 값이 직렬화되고 유선을 통해 클라이언트로 다시 전송되기 전에 발생합니다.

적용 대상

추가 정보