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 установлено значение true
, возвращается объект BodyWriter. Если для параметра IsBuffered установлено значение false
, возвращается содержимое объекта BodyWriter до значения maxBufferSize
. При этом также вызывается метод OnCreateBufferedCopy(Int32), что обеспечивает возможность расширения.