Udostępnij za pośrednictwem


BodyWriter.CreateBufferedCopy(Int32) Metoda

Definicja

Tworzy buforowaną kopię treści.

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

Parametry

maxBufferSize
Int32

Maksymalny rozmiar buforu dla treści.

Zwraca

Obiekt BodyWriter zawierający kopię tego obiektu.

Wyjątki

Wartość maxBufferSize jest mniejsza niż zero.

Treść została już napisana i nie można jej zapisać ponownie lub składnik zapisywania treści nie jest buforowany.

Przykłady

Poniższy przykład pokazuje, jak utworzyć buforowaną kopię istniejącego BodyWriter wystąpienia.

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)

Uwagi

Jeśli IsBuffered obiekt jest true wtedy BodyWriter zwracany. Jeśli IsBuffered wartość jest false to zwracana jest zawartość BodyWriter elementu do maxBufferSize . Wywołuje to również OnCreateBufferedCopy(Int32) jako punkt rozszerzalności.

Dotyczy