다음을 통해 공유


SoapMessageStage 열거형

정의

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

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

필드

AfterDeserialize 8

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

AfterSerialize 2

SoapMessage가 serialize된 직후 그러나 SOAP 메시지가 네트워크를 통해 보내지기 전의 단계입니다.

BeforeDeserialize 4

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

BeforeSerialize 1

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

예제

다음 예제는 메서드를 구현하는 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로 직렬화된 후, 해당 XML이 포함된 SOAP 메시지가 네트워크를 통해 전송되기 전에 발생합니다. XML 웹 서비스 메서드가 반환되고 반환 값이 XML로 직렬화된 후에 발생하지만 해당 XML이 포함된 SOAP 메시지가 네트워크를 통해 전송되기 전에 발생합니다.
BeforeDeserialize XML 웹 서비스 메서드 호출의 네트워크 응답을 받은 후 SOAP 메시지를 포함하는 응답이 개체로 역직렬화되기 직전에 발생합니다. XML 웹 서비스 메서드 호출에 대한 SOAP 메시지가 포함된 네트워크 요청이 웹 서버에서 수신된 후 SOAP 메시지가 개체로 역직렬화되기 전에 발생합니다.
BeforeSerialize 클라이언트가 XML 웹 서비스 메서드를 호출한 후 호출이 serialize되기 전에 발생합니다. XML 웹 서비스 메서드를 호출한 후 반환 값이 직렬화되고 유선을 통해 클라이언트로 다시 전송되기 전에 발생합니다.

적용 대상

추가 정보