MessageBuffer.Close メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バッファーの使用を終了します。
public:
abstract void Close();
public abstract void Close ();
abstract member Close : unit -> unit
Public 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 が返されます。 この問題を回避するには、閉じる前に、バッファーからメッセージを作成し直す必要があります。 前述したシナリオおよびこの問題を解決する方法については、「使用例」のセクションのコード サンプルを参照してください。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET