SoapMessageStage 列挙型

定義

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

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

フィールド

AfterDeserialize 8

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

AfterSerialize 2

SoapMessage がシリアル化された直後で、さらに SOAP メッセージがネットワークをとおして送信される前の段階。

BeforeDeserialize 4

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

BeforeSerialize 1

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 を使用して 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 サービス メソッドへの呼び出しが戻った後、戻り値がシリアル化され、ワイヤ経由でクライアントに送信される前に発生します。

適用対象

こちらもご覧ください