IStreamProvider Interface
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een interface die kan worden geïmplementeerd door klassen die streams bieden.
public interface class IStreamProvider
public interface IStreamProvider
type IStreamProvider = interface
Public Interface IStreamProvider
Opmerkingen
Bij het schrijven van een uitgaand bericht met een gestreamde hoofdtekst naar een XML-schrijver, Message wordt een reeks aanroepen gebruikt die vergelijkbaar is met de volgende in OnWriteBodyContents(XmlDictionaryWriter) de implementatie:
Schrijf alle benodigde informatie voorafgaand aan de stream (bijvoorbeeld het openen van de XML-tag).
Schrijf de stream.
Schrijf alle informatie na de stream (bijvoorbeeld de afsluitende XML-tag).
Dit werkt goed met coderingen die vergelijkbaar zijn met de tekstuele XML-codering. Er zijn echter enkele coderingen die geen XML-gegevenssetgegevens plaatsen (bijvoorbeeld tags voor het starten en beëindigen van XML-elementen) samen met de gegevens in elementen. In de MTOM-codering wordt het bericht bijvoorbeeld gesplitst in meerdere delen. Het ene deel bevat de XML-infoset, die mogelijk verwijzingen naar andere onderdelen voor de inhoud van het werkelijke element bevat. Omdat de XML-infoset normaal gesproken klein is in vergelijking met de gestreamde inhoud, is het zinvol om de infoset te bufferen, deze uit te schrijven en vervolgens de inhoud op een gestreamde manier te schrijven. Dit betekent dat we de stream nog niet hebben weggeschreven op het moment dat de afsluitende elementtag is geschreven.
Hiervoor wordt de IStreamProvider interface gebruikt. De interface heeft een GetStream() methode die de stroom retourneert die moet worden geschreven. De juiste manier om een gestreamde berichttekst uit OnWriteBodyContents(XmlDictionaryWriter) te schrijven, is als volgt:
Schrijf alle benodigde informatie voorafgaand aan de stream (bijvoorbeeld het openen van de XML-tag)
Roep de
WriteValueoverload aan op de XmlDictionaryWriter die een IStreamProvider neemt, met eenIStreamProviderimplementatie die de te schrijven stroom retourneert.Schrijf informatie na de stream (bijvoorbeeld de afsluitende XML-tag)
Met deze methode heeft de XML-schrijver de keuze om te bepalen wanneer GetStream() wordt aangeroepen en de gestreamde gegevens worden weggeschreven. De tekstuele en binaire XML-schrijvers noemen deze bijvoorbeeld onmiddellijk en schrijven de gestreamde inhoud tussen de begin- en eindtags uit. De MTOM-schrijver kan besluiten om GetStream() later aan te roepen, als het gereed is om het juiste deel van het bericht te schrijven.
Methoden
| Name | Description |
|---|---|
| GetStream() |
Hiermee haalt u een stream op. |
| ReleaseStream(Stream) |
Brengt een stroom naar uitvoer uit. |