BodyWriter.CreateBufferedCopy(Int32) Yöntem

Tanım

Gövdenin arabelleğe alınan bir kopyasını oluşturur.

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

Parametreler

maxBufferSize
Int32

Gövde için arabellek boyutu üst sınırı.

Döndürülenler

BodyWriter

BodyWriter Bu nesnenin bir kopyasını içeren.

Özel durumlar

maxBufferSize sıfırdan küçüktür.

Gövde zaten yazılmıştır ve yeniden yazılamaz veya gövde yazarı arabelleğe alınmaz.

Örnekler

Aşağıdaki örnekte mevcut BodyWriter örneğin arabelleğe alınan bir kopyasının nasıl oluşturulacağı gösterilmektedir.

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)

Açıklamalar

ise IsBuffered true BodyWriter nesnesi döndürülür. ise IsBuffered false, en fazla maxBufferSize değerinin BodyWriter içeriği döndürülür. Bu ayrıca genişletilebilirlik noktası olarak da çağrılır OnCreateBufferedCopy(Int32) .

Şunlara uygulanır