MessageBuffer.Close Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Selesai bekerja dengan buffer.
public:
abstract void Close();
public abstract void Close ();
abstract member Close : unit -> unit
Public MustOverride Sub Close ()
Contoh
Contoh berikut menunjukkan cara menutup buffer pesan dengan benar.
public void AfterReceiveReply(ref Message reply, object correlationState)
{
// Create the buffer.
MessageBuffer buffer = reply.CreateBufferedCopy(13000);
// Inspect the response (for example, extract the body contents).
Message thisReply = buffer.CreateMessage();
XmlDictionaryReader reader = thisReply.GetReaderAtBodyContents();
var info = new StringBuilder();
XmlWriter writer = XmlWriter.Create(info);
writer.WriteNode(reader, true);
writer.Close();
// Resolution: Re-create the message from the buffer before
// closing.
reply = buffer.CreateMessage();
// You can close the buffer after the message has been recreated.
buffer.Close();
}
Keterangan
Anda harus selalu menutup MessageBuffer instans dengan memanggil Close ketika selesai bekerja dengannya. Hal ini memungkinkan sumber daya sistem untuk berpotensi dikosongkan lebih cepat.
Jika Anda telah memanggil CreateBufferedCopy untuk membuat buffer pesan pesan, dan memeriksa pesan menggunakan CreateMessage, Anda akan mendapatkan InvalidOperationException ketika Anda mencoba menutup buffer menggunakan metode ini. Untuk menghindari masalah ini, Anda perlu membuat ulang pesan dari buffer sebelum menutup. Lihat sampel kode di bagian Contoh untuk demonstrasi skenario sebelumnya dan cara untuk mengatasi masalah ini.