IStreamProvider Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar ett gränssnitt som kan implementeras av klasser som tillhandahåller strömmar.
public interface class IStreamProvider
public interface IStreamProvider
type IStreamProvider = interface
Public Interface IStreamProvider
Kommentarer
När du skriver ett utgående meddelande som innehåller en strömmad brödtext till en XML-skrivare Message använder den en sekvens med anrop som liknar följande i implementeringen OnWriteBodyContents(XmlDictionaryWriter) :
Skriv nödvändig information före strömmen (till exempel den inledande XML-taggen).
Skriv strömmen.
Skriv all information efter strömmen (till exempel den avslutande XML-taggen).
Detta fungerar bra med kodningar som liknar den textbaserade XML-kodningen. Det finns dock vissa kodningar som inte placerar XML-informationsuppsättningsinformation (till exempel taggar för att starta och avsluta XML-element) tillsammans med data som finns i element. I MTOM-kodningen delas meddelandet till exempel upp i flera delar. En del innehåller XML-informationsuppsättningen, som kan innehålla referenser till andra delar för faktiskt elementinnehåll. Eftersom XML-informationsuppsättningen normalt är liten jämfört med det strömmade innehållet är det klokt att buffrar informationsuppsättningen, skriver ut den och sedan skriver innehållet på ett strömmat sätt. Det innebär att när taggen för avslutande element skrivs bör vi inte ha skrivit ut strömmen ännu.
För detta ändamål används IStreamProvider-gränssnittet. Gränssnittet har en GetStream() metod som returnerar dataströmmen som ska skrivas. Det rätta sättet att skriva ut en strömmad meddelandetext i OnWriteBodyContents(XmlDictionaryWriter) är följande:
Skriv nödvändig information före strömmen (till exempel den inledande XML-taggen)
Anropa överbelastningen på
WriteValuesom tar en XmlDictionaryWriter, med en IStreamProvider-implementering som returnerar dataströmmen att skriva till.Skriv all information som följer strömmen (till exempel den avslutande XML-taggen)
Med den här metoden har XML-skrivaren ett val av när du ska anropa GetStream() och skriva ut strömmade data. Till exempel anropar text- och binär XML-skrivarna det omedelbart och skriver ut det strömmade innehållet mellan start- och sluttaggar. MTOM-skrivaren kan välja att anropa GetStream() senare när den är redo att skriva rätt del av meddelandet.
Metoder
| Name | Description |
|---|---|
| GetStream() |
Hämtar en ström. |
| ReleaseStream(Stream) |
Släpper ut en ström. |