在WebOperationContext中返回时,流是否会关闭?

时间:2012-04-02 22:17:57

标签: c# asp.net weboperationcontext

我将一些图像作为流返回,作为WebOperationContext.Current.CreateStreamResponse()的一部分

我想知道框架是否在返回后处理此流的关闭。或者,为了正确关闭流,您必须做一些事情作为响应的一部分。

感谢。

2 个答案:

答案 0 :(得分:2)

好吧,根据我的发现,CreateStreamResponse()返回一个Message,它实现了IDisposable,因此最好将返回的对象包装在using语句中。这应该可以正确地关闭流。

答案 1 :(得分:-2)

实现使用不是一个解决方案,我有一个返回内容很大(3 MB)的情况,因为我在using语句中包装WebOperationContext.Current.CreateStreamResponse(),流在内容完成之前关闭因此,客户的回复是空白的。

我所做的只是将流输出复制到一个字符串,并在using wrap中使用WebOperationContext.Current.CreateTextResponse()。