我正在返回一些圖像作爲一個流作爲一部分的WebOperationContext.Current.CreateStreamResponse()在WebOperationContext中返回時是否關閉流?
我想知道如果框架處理返回後的流關閉。或者,如果您爲了正確關閉數據流而必須執行某些操作(作爲響應的一部分)。
謝謝。
我正在返回一些圖像作爲一個流作爲一部分的WebOperationContext.Current.CreateStreamResponse()在WebOperationContext中返回時是否關閉流?
我想知道如果框架處理返回後的流關閉。或者,如果您爲了正確關閉數據流而必須執行某些操作(作爲響應的一部分)。
謝謝。
嗯,從我發現,CreateStreamResponse()返回一個Message,它實現IDisposable,所以最好的做法是將返回的對象包裝在using
語句中。這應該正確處理關閉流。使用
實現的是不是一個soulution在這裏,我有一種情況,返回的內容是巨大的(3 MB),並因爲我包裹WebOperationContext.Current.CreateStreamResponse()using語句內,流得到的內容之前關閉完成了,因此對客戶的迴應是空白的。
我所做的只是將流輸出複製到一個字符串,並在使用wrap中使用WebOperationContext.Current.CreateTextResponse()。
框架關閉返回的流..... – 2016-12-10 20:17:53