Aracılığıyla paylaş


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 Bu nesnenin bir kopyasını içeren bir.

Ö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 IsBufferedtrueBodyWriter nesnesi döndürülür. ise IsBufferedfalse, yukarı maxBufferSize değerinin BodyWriter içeriği döndürülür. Bu, genişletilebilirlik noktası olarak da çağrılır OnCreateBufferedCopy(Int32) .

Şunlara uygulanır