SoapMessageStage 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SOAP 메시지의 처리 단계를 지정합니다.
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum 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 웹 서비스 메서드를 호출한 후 반환 값이 직렬화되고 유선을 통해 클라이언트로 다시 전송되기 전에 발생합니다. |