Compartir vía


SoapExtension.ChainStream(Stream) Método

Definición

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

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.

Se aplica a