Поделиться через


BodyWriter.CreateBufferedCopy(Int32) Метод

Определение

Создает буферированную копию текста.

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

Параметры

maxBufferSize
Int32

Максимальный размер буфера для тела.

Возвращаемое значение

Объект, BodyWriter содержащий копию этого объекта.

Исключения

Меньше maxBufferSize нуля.

Текст уже написан и не может быть записан снова, или модуль записи текста не буферичен.

Примеры

В следующем примере показано, как создать буферированную копию существующего BodyWriter экземпляра.

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)

Комментарии

Если IsBuffered объект trueBodyWriter возвращается. Если IsBuffered возвращается false содержимое BodyWritermaxBufferSize до него. Это также вызывается OnCreateBufferedCopy(Int32) как точка расширяемости.

Применяется к