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 要求或回應。
傳回
Stream,表示這個 SOAP 擴充可以修改的新記憶體緩衝區。
範例
下列範例會 Stream 分別將傳入 ChainStream 和 Stream 傳回 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 ,以及 Stream 從 ChainStream 傳回 ChainStream 的 。 如果 SOAP 延伸模組設定為使用 XML Web 服務方法執行, Stream 則傳入 ChainStream 的 會包含 位於 的 BeforeDeserializeSoapMessageStage 序列化 SOAP 要求。 同樣地, Stream 從 傳 ChainStream 回的參考會在序列化發生時寫入,因此在 中包含 AfterSerializeSoapMessageStage 序列化的 SOAP 回應。