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.
Возвращаемое значение
Объект 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 в ChainStream и Stream возвращаемые из ChainStream. Если расширение SOAP настроено для запуска с помощью метода веб-службы XML, переданный Stream в ChainStream содержит сериализованный запрос SOAP в BeforeDeserializeSoapMessageStage. Аналогичным образом, ссылка, возвращаемая из , Stream записывается в , когда происходит сериализация, и, таким образом, содержит сериализованный ответ SOAP в AfterSerializeSoapMessageStage.ChainStream