SoapExtension.ChainStream(Stream) Méthode

Définition

En cas de substitution dans une classe dérivée, permet à une extension SOAP d'accéder à la mémoire tampon contenant la demande ou la réponse 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

Paramètres

stream
Stream

Mémoire tampon contenant la demande ou réponse SOAP.

Retours

Stream représentant une nouvelle mémoire tampon que cette extension SOAP peut modifier.

Exemples

L’exemple suivant enregistre à la fois le Stream passé dans ChainStream et le Stream retourné de ChainStream dans les variables oldStream membres et newStream, respectivement.

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

Remarques

ChainStream garantit que les extensions SOAP avec la priorité la plus élevée peuvent modifier les données réelles les plus proches du message SOAP envoyé ou retourné sur le réseau.

Les extensions SOAP doivent enregistrer les Stream références du passé dans ChainStream et du Stream retourné à partir de ChainStream. Si l’extension SOAP est configurée pour s’exécuter avec une méthode de service Web XML, le Stream passé dans ChainStream contient la requête SOAP sérialisée au niveau de .BeforeDeserializeSoapMessageStage De même, la Stream référence retournée à partir de ChainStream est écrite dans lorsque la sérialisation se produit et contient donc la réponse SOAP sérialisée dans .AfterSerializeSoapMessageStage

S’applique à