Freigeben über


SoapExtension.ChainStream(Stream) Methode

Definition

Ermöglicht beim Überschreiben in einer abgeleiteten Klasse, dass eine SOAP-Erweiterung auf den Speicherpuffer mit der SOAP-Anforderung oder -Antwort zugreifen kann.

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

Parameter

stream
Stream

Ein Speicherpuffer mit der SOAP-Anforderung oder -Antwort.

Gibt zurück

Ein Stream, der einen neuen Speicherpuffer darstellt, den diese SOAP-Erweiterung ändern kann.

Beispiele

Im folgenden Beispiel wird sowohl die Stream übergebenen ChainStream und Stream Merry ChainStream in die Membervariablen oldStream und newStreambzw.

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

Hinweise

ChainStream stellt sicher, dass SOAP-Erweiterungen mit der höchsten Priorität die tatsächlichen Daten ändern können, die der SOAP-Nachricht am nächsten liegen, die über das Kabel gesendet oder zurückgegeben werden.

SOAP-Erweiterungen sollten Verweise der Stream übergebenen ChainStream und von Stream zurückgegebenen ChainStreamspeichern. Wenn die SOAP-Erweiterung für die Ausführung mit einer XML-Webdienstmethode konfiguriert ist, enthält die Stream übergebene ChainStream die serialisierte SOAP-Anforderung unter BeforeDeserializeSoapMessageStage. Auf ähnliche Weise wird der Stream von zurückgegebene Verweis in geschrieben, wenn die Serialisierung stattfindet, und enthält daher die serialisierte SOAP-Antwort in der AfterSerializeSoapMessageStage.ChainStream

Gilt für: