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 要求または応答を含むメモリ バッファー。
返品
この SOAP 拡張機能で変更できる新しいメモリ バッファーを表す Stream 。
例
次の例では、ChainStreamに渡されたStreamと、ChainStreamから返されたStreamの両方をメンバー変数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 拡張機能は、ChainStreamに渡されたStreamの参照と、ChainStreamから返されたStreamを保存する必要があります。 SOAP 拡張機能が XML Web サービス メソッドを使用して実行されるように構成されている場合、ChainStreamに渡されるStreamには、BeforeDeserializeSoapMessageStageでシリアル化された SOAP 要求が含まれます。 同様に、ChainStreamから返されるStream参照は、シリアル化が発生したときに書き込まれるため、シリアル化された SOAP 応答がAfterSerializeSoapMessageStageに含まれます。