SoapExtension.ChainStream(Stream) 方法

定义

当在派生类中被重写时,允许 SOAP 扩展访问包含 SOAP 请求或响应的内存缓冲区。

C#
public virtual System.IO.Stream ChainStream(System.IO.Stream stream);

参数

stream
Stream

包含 SOAP 请求或响应的内存缓冲区。

返回

Stream,它表示此 SOAP 扩展可以修改的新内存缓冲区。

示例

以下示例分别将传入ChainStream的 和StreamChainStream中返回的 分别保存在Stream成员变量 oldStreamnewStream中。

C#
public override Stream ChainStream( Stream stream ){
    oldStream = stream;
    newStream = new MemoryStream();
    return newStream;
}

注解

ChainStream 确保优先级最高的 SOAP 扩展可以修改最接近通过网络发送或返回的 SOAP 消息的实际数据。

SOAP 扩展应保存传入ChainStreamStreamChainStream返回的 的引用Stream。 如果将 SOAP 扩展配置为使用 XML Web 服务方法运行,Stream则传入的 ChainStream 将包含 序列化的 SOAP 请求。BeforeDeserializeSoapMessageStage 同样, Stream 当序列化发生时,从 ChainStream 返回的引用将被写入,因此在 中包含序列化的 AfterSerializeSoapMessageStageSOAP 响应。

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1