語言

SoapExtension.ChainStream(Stream) 方法

定義

當在派生類別中覆寫時,允許 SOAP 擴充存取包含 SOAP 請求或回應的記憶體緩衝區。

public:
 virtual System::IO::Stream ^ ChainStream(System::IO::Stream ^ stream);
public virtual System.IO.Stream ChainStream(System.IO.Stream stream);
abstract member ChainStream : System.IO.Stream -> System.IO.Stream
override this.ChainStream : System.IO.Stream -> System.IO.Stream
Public Overridable Function ChainStream (stream As Stream) As Stream

參數

stream
Stream

一個包含 SOAP 請求或回應的記憶體緩衝區。

傳回

A Stream 代表一個新的記憶體緩衝區,這個 SOAP 擴充功能可以修改它。

範例

以下範例分別 Stream 將 pass into ChainStream 與 Stream return from ChainStream 分別保存在成員變數 oldStream 中 newStream。

public:
   virtual Stream^ ChainStream( Stream^ stream ) override
   {
      oldStream = stream;
      newStream = gcnew MemoryStream;
      return newStream;
   }
public override Stream ChainStream( Stream stream ){
    oldStream = stream;
    newStream = new MemoryStream();
    return newStream;
}
Public Overrides Function ChainStream(stream As Stream) As Stream
    m_oldStream = stream
    m_newStream = New MemoryStream()
    Return m_newStream
End Function

備註

ChainStream 確保擁有最高優先權的 SOAP 擴充功能能修改最接近 SOAP 訊息的實際資料。

SOAP 擴充功能應該會儲存傳入Stream與ChainStream回傳的 Stream。ChainStream 若 SOAP 擴充功能設定為使用 XML Web 服務方法,Stream則 傳入ChainStream的 包含序列化的 SOAP 請求。BeforeDeserializeSoapMessageStage 同樣地,Stream序列化時會寫入 的ChainStream引用,因此包含序列化的 SOAP 回應。AfterSerializeSoapMessageStage

適用於