2

WebOperationContext.Current.CreateStreamResponse() の一部として、いくつかの画像をストリームとして返しています。

このストリームが返された後、フレームワークがこのストリームの終了を処理するかどうか疑問に思っていました。または、ストリームを正しく閉じるために、応答の一部として何かしなければならないことがあった場合。

ありがとう。

4

2 に答える 2

2

私が見つけたものから、 CreateStreamResponse() はIDisposable を実装するMessageusingを返すため、返されたオブジェクトをステートメントでラップすることをお勧めします。これにより、ストリームを適切に閉じることができます。

于 2012-04-02T22:22:04.530 に答える
-2

using の実装はここでは解決策ではありません。返されるコンテンツが巨大 (3 MB) になる状況がありました。WebOperationContext.Current.CreateStreamResponse() を using ステートメント内にラップしたため、コンテンツが終了する前にストリームが閉じられたため、クライアントの応答は空白でした。

私がしたことは、ストリーム出力を文字列にコピーし、ラップ内で WebOperationContext.Current.CreateTextResponse() を使用することだけでした。

于 2016-02-26T05:34:03.230 に答える