SoapMessageStage 列舉

定義

指定 SOAP 訊息的處理階段。

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

欄位

AfterDeserialize 8

緊接在 SoapMessage 之後的階段會從 SOAP 訊息還原序列化為物件。

AfterSerialize 2

緊接在 SoapMessage 之後的階段已序列化,但是在 SOAP 訊息經由 Wire 傳送之前。

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。 會在 XML Web 服務方法傳回且任何傳回值序列化為 XML 之後發生,但在包含該 XML 的 SOAP 訊息之前,會透過網路傳送該 XML。
BeforeDeserialize 發生在收到來自 XML Web 服務方法調用的網路回應之後,但在包含 SOAP 訊息的回應還原序列化為 物件之前。 發生于 Web 服務器收到包含 XML Web 服務方法調用之 SOAP 訊息的網路要求之後,但在將 SOAP 訊息還原序列化為 物件之前。
BeforeSerialize 發生在用戶端叫用 XML Web 服務方法之後,但在序列化叫用之前發生。 會在 XML Web 服務方法的調用傳回之後發生,但在傳回值之前,會透過網路序列化並傳送回用戶端。

適用於

另請參閱