SoapExtension.ChainStream(Stream) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cuando se reemplaza en una clase derivada, permite que una extensión SOAP tenga acceso al búfer de memoria que contiene la solicitud o respuesta 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
Parámetros
- stream
- Stream
Búfer de memoria que contiene la solicitud o respuesta SOAP.
Devoluciones
Stream que representa un nuevo búfer de memoria que esta extensión SOAP puede modificar.
Ejemplos
En el ejemplo siguiente se guarda tanto el Stream pasado en ChainStream como el Stream devuelto de ChainStream en las variables oldStream
miembro y newStream
, respectivamente.
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
Comentarios
ChainStream garantiza que las extensiones SOAP con la prioridad más alta pueden modificar los datos reales más cercanos al mensaje SOAP enviado o devuelto a través de la conexión.
Las extensiones SOAP deben guardar las referencias del Stream objeto pasado a ChainStream y el Stream devuelto de ChainStream. Si la extensión SOAP está configurada para ejecutarse con un método de servicio web XML, el Stream objeto pasado ChainStream contiene la solicitud SOAP serializada en .BeforeDeserializeSoapMessageStage Del mismo modo, la Stream referencia devuelta de ChainStream se escribe en cuando se produce la serialización y, por tanto, contiene la respuesta SOAP serializada en AfterSerializeSoapMessageStage.