BodyWriter.CreateBufferedCopy(Int32) Metod

Definition

Skapar en buffrad kopia av brödtexten.

public:
 System::ServiceModel::Channels::BodyWriter ^ CreateBufferedCopy(int maxBufferSize);
public System.ServiceModel.Channels.BodyWriter CreateBufferedCopy(int maxBufferSize);
member this.CreateBufferedCopy : int -> System.ServiceModel.Channels.BodyWriter
Public Function CreateBufferedCopy (maxBufferSize As Integer) As BodyWriter

Parametrar

maxBufferSize
Int32

Den maximala storleken på bufferten för brödtexten.

Returer

En BodyWriter som innehåller en kopia av det här objektet.

Undantag

Är maxBufferSize mindre än noll.

Brödtexten har redan skrivits och kan inte skrivas igen, eller så buffrades inte brödtextskrivaren.

Exempel

Följande exempel visar hur du skapar en buffrad kopia av en befintlig BodyWriter instans.

string[] strings = { "Hello", "world" };
MyBodyWriter bodyWriter = new MyBodyWriter(strings);

StringBuilder strBuilder = new StringBuilder(10);
XmlWriter writer = XmlWriter.Create(strBuilder);
XmlDictionaryWriter dictionaryWriter = XmlDictionaryWriter.CreateDictionaryWriter(writer);

bodyWriter.WriteBodyContents(dictionaryWriter);
dictionaryWriter.Flush();

MyBodyWriter bufferedBodyWriter = (MyBodyWriter) bodyWriter.CreateBufferedCopy(1024);
Dim strings() As String = {"Hello", "world"}
Dim bodyWriter As New MyBodyWriter(strings)

Dim strBuilder As New StringBuilder(10)
Dim writer As XmlWriter = XmlWriter.Create(strBuilder)
Dim dictionaryWriter As XmlDictionaryWriter = XmlDictionaryWriter.CreateDictionaryWriter(writer)

bodyWriter.WriteBodyContents(dictionaryWriter)
dictionaryWriter.Flush()

Dim bufferedBodyWriter As MyBodyWriter = CType(bodyWriter.CreateBufferedCopy(1024), MyBodyWriter)

Kommentarer

Om IsBuffered är true returneras objektet BodyWriter . Om IsBuffered är false returneras innehållet i BodyWriter upp till maxBufferSize . Detta anropar OnCreateBufferedCopy(Int32) också som en utökningspunkt.

Gäller för