SoapMessageStage 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定 SOAP 訊息的處理階段。
public enum class SoapMessageStage
public enum SoapMessageStage
type SoapMessageStage =
Public Enum SoapMessageStage
- 繼承
欄位
| 名稱 | 值 | Description |
|---|---|---|
| BeforeSerialize | 1 | 這是即將被連載的舞台 SoapMessage 。 |
| AfterSerialize | 2 | a 之後 SoapMessage 的階段是序列化的,但在 SOAP 訊息之前,會透過有線傳送。 |
| BeforeDeserialize | 4 | 在 a SoapMessage 之前的階段會從透過網路傳送的 SOAP 訊息中反序列化成物件。 |
| AfterDeserialize | 8 | 緊接著 a SoapMessage 的階段會從 SOAP 訊息反序列化成物件。 |
範例
以下範例是一個實作該 ProcessMessage 方法的 SOAP 擴充套件片段。 在該 ProcessMessage 方法中,a 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 Web 服務方法呼叫回應的 SOAP 訊息被反序列化成物件之後,但客戶端尚未收到反序列化結果之前。 | 發生在包含代表 XML Web 服務方法調用的 SOAP 訊息的網路請求被反序列化成物件後,但在該物件上代表 XML Web 服務方法的方法被呼叫之前。 |
AfterSerialize |
發生在用戶端呼叫 XML Web 服務方法並將參數序列化成 XML 後,但在包含該 XML 的 SOAP 訊息透過網路傳送之前。 | 發生在 XML Web 服務方法回傳且所有返回值序列化成 XML 之後,但在包含該 XML 的 SOAP 訊息透過網路傳送之前。 |
BeforeDeserialize |
發生在收到來自 XML Web 服務方法調用的網路回應之後,但就在包含 SOAP 訊息的回應被反序列化成物件之前。 | 發生在包含 SOAP 訊息用於 XML Web 服務方法調用的網路請求被網頁伺服器接收後,但在 SOAP 訊息被反序列化成物件之前。 |
BeforeSerialize |
發生在用戶端呼叫 XML Web 服務方法之後,但在呼叫序列化之前。 | 此現象發生在呼叫 XML Web 服務方法回傳之後,但在回傳值序列化並透過線路回傳給用戶端之前。 |