MessageBuffer.Close 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
缓冲区使用完毕。
public:
 abstract void Close();public abstract void Close();abstract member Close : unit -> unitPublic MustOverride Sub Close ()示例
下面的示例演示如何正确关闭消息缓冲区。
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();
}
注解
每次使用完 MessageBuffer 实例后,您都应该调用 Close 以关闭该实例。 这可能会允许更快地释放系统资源。
当尝试用此方法关闭缓冲区时,如果已调用 CreateBufferedCopy 创建了消息的消息缓冲区,并使用 CreateMessage 检查了消息,则会收到 InvalidOperationException。 要避免出现此问题,需要在关闭缓冲区前从缓冲区重新创建消息。 有关以前出现的这种情况以及其解决方法的演示,请参见“示例”部分。