MessageBuffer.Close Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Dokončí práci s vyrovnávací pamětí.
public:
abstract void Close();
public abstract void Close ();
abstract member Close : unit -> unit
Public MustOverride Sub Close ()
Příklady
Následující příklad ukazuje, jak správně zavřít vyrovnávací paměť zpráv.
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();
}
Poznámky
Po dokončení práce s ní byste vždy měli instanci zavřít MessageBuffer voláním Close . To umožňuje, aby se systémové prostředky uvolnily dříve.
Pokud jste vytvořili CreateBufferedCopy vyrovnávací paměť zprávy a zkontrolovali jste zprávu pomocí CreateMessagepříkazu , zobrazí InvalidOperationException se při pokusu o zavření vyrovnávací paměti pomocí této metody. Chcete-li se tomuto problému vyhnout, musíte před zavřením znovu vytvořit zprávu z vyrovnávací paměti. Ukázku kódu v části Příklad najdete v ukázce předchozího scénáře a způsob, jak tento problém vyřešit.