Freigeben über


SoapExtension.ChainStream-Methode

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

Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)

Syntax

'Declaration
Public Overridable Function ChainStream ( _
    stream As Stream _
) As Stream
'Usage
Dim instance As SoapExtension
Dim stream As Stream
Dim returnValue As Stream

returnValue = instance.ChainStream(stream)
public virtual Stream ChainStream (
    Stream stream
)
public:
virtual Stream^ ChainStream (
    Stream^ stream
)
public Stream ChainStream (
    Stream stream
)
public function ChainStream (
    stream : Stream
) : Stream

Parameter

  • stream
    Ein Speicherpuffer mit der SOAP-Anforderung oder -Antwort.

Rückgabewert

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

Hinweise

ChainStream stellt sicher, dass SOAP-Erweiterungen mit der höchsten Priorität die eigentlichen Daten ändern können, die der über die Verbindung gesendeten oder zurückgegebenen SOAP-Nachricht am nächsten sind.

SOAP-Erweiterungen müssen Verweise auf den an ChainStream übergebenen Stream und den von ChainStream zurückgegebenen Stream speichern. Wenn die SOAP-Erweiterung zum Ausführen mit einer XML-Webdienstmethode konfiguriert wurde, enthält der an ChainStream übergebene Stream die serialisierte SOAP-Anforderung auf der BeforeDeserializeSoapMessageStage. Entsprechend wird in den von ChainStream zurückgegebenen Stream-Verweis geschrieben, wenn die Serialisierung durchgeführt wird. Daher enthält dieser die serialisierte SOAP-Antwort auf der AfterSerializeSoapMessageStage.

Beispiel

Im folgenden Beispiel werden der an ChainStream übergebene Stream und der von ChainStream zurückgegebene Stream in den Membervariablen oldStream bzw. newStream gespeichert.

Public Overrides Function ChainStream(stream As Stream) As Stream
    m_oldStream = stream
    m_newStream = New MemoryStream()
    Return m_newStream
End Function
public override Stream ChainStream( Stream stream ){
    oldStream = stream;
    newStream = new MemoryStream();
    return newStream;
}
public:
   virtual Stream^ ChainStream( Stream^ stream ) override
   {
      oldStream = stream;
      newStream = gcnew MemoryStream;
      return newStream;
   }
public Stream ChainStream(Stream stream)
{
    oldStream = stream;
    newStream = new MemoryStream();
    return newStream;
} //ChainStream

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

SoapExtension-Klasse
SoapExtension-Member
System.Web.Services.Protocols-Namespace