SoapExtension.ChainStream(Stream) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當在派生類別中覆寫時,允許 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