Bagikan melalui


MessageBuffer.Close Metode

Definisi

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.

Berlaku untuk