SoapMessageStage 列挙型

定義

SOAP メッセージの処理ステージを指定します。

public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage = 
Public Enum SoapMessageStage
継承
SoapMessageStage

フィールド

名前 説明
BeforeSerialize 1

SoapMessageがシリアル化される直前のステージ。

AfterSerialize 2

SoapMessageがシリアル化された直後の、SOAP メッセージがネットワーク経由で送信される前のステージ。

BeforeDeserialize 4

ネットワーク経由で送信された SOAP メッセージからオブジェクトに SoapMessage が逆シリアル化される直前のステージ。

AfterDeserialize 8

SoapMessageが SOAP メッセージからオブジェクトに逆シリアル化された直後のステージ。

次の例は、 ProcessMessage メソッドを実装する SOAP 拡張機能のフラグメントです。 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 を使用して Web サービスを呼び出すための機能拡張メカニズムを提供します。 拡張メカニズムは、クライアントまたはサーバーでのメッセージ処理の特定の段階でメッセージを検査または変更できる SoapExtension を中心に展開します。 この列挙体は、 SoapMessageの処理ステージを指定します。

次の表は、SOAP クライアントとサーバーの処理中に各ステージが発生するタイミングを示しています。

SoapMessageStage SoapClientMessage処理中 SoapServerMessage処理中
AfterDeserialize XML Web サービス メソッドの呼び出しからの応答を含む SOAP メッセージがオブジェクトに逆シリアル化された後、クライアントが逆シリアル化された結果を受信する前に発生します。 XML Web サービス メソッドの呼び出しを表す SOAP メッセージを含むネットワーク要求がオブジェクトに逆シリアル化された後、XML Web サービス メソッドを表すそのオブジェクトのメソッドが呼び出される前に発生します。
AfterSerialize クライアントが XML Web サービス メソッドを呼び出し、パラメーターが XML にシリアル化された後、その XML を含む SOAP メッセージがネットワーク経由で送信される前に発生します。 XML Web サービス メソッドが戻り値を返し、戻り値が XML にシリアル化された後、その XML を含む SOAP メッセージがネットワーク経由で送信される前に発生します。
BeforeDeserialize XML Web サービス メソッドの呼び出しからのネットワーク応答を受信した後、SOAP メッセージを含む応答がオブジェクトに逆シリアル化される直前に発生します。 XML Web サービス メソッド呼び出しの SOAP メッセージを含むネットワーク要求が Web サーバーによって受信された後、SOAP メッセージがオブジェクトに逆シリアル化される前に発生します。
BeforeSerialize クライアントが XML Web サービス メソッドを呼び出した後、呼び出しがシリアル化される前に発生します。 XML Web サービス メソッドへの呼び出しが戻った後、戻り値がシリアル化され、ネットワーク経由でクライアントに送信される前に発生します。

適用対象

こちらもご覧ください