WebOperationContext.Current.CreateStreamResponse() の一部として、いくつかの画像をストリームとして返しています。
このストリームが返された後、フレームワークがこのストリームの終了を処理するかどうか疑問に思っていました。または、ストリームを正しく閉じるために、応答の一部として何かしなければならないことがあった場合。
ありがとう。
WebOperationContext.Current.CreateStreamResponse() の一部として、いくつかの画像をストリームとして返しています。
このストリームが返された後、フレームワークがこのストリームの終了を処理するかどうか疑問に思っていました。または、ストリームを正しく閉じるために、応答の一部として何かしなければならないことがあった場合。
ありがとう。
私が見つけたものから、 CreateStreamResponse() はIDisposable を実装するMessageusing
を返すため、返されたオブジェクトをステートメントでラップすることをお勧めします。これにより、ストリームを適切に閉じることができます。
using の実装はここでは解決策ではありません。返されるコンテンツが巨大 (3 MB) になる状況がありました。WebOperationContext.Current.CreateStreamResponse() を using ステートメント内にラップしたため、コンテンツが終了する前にストリームが閉じられたため、クライアントの応答は空白でした。
私がしたことは、ストリーム出力を文字列にコピーし、ラップ内で WebOperationContext.Current.CreateTextResponse() を使用することだけでした。