【发布时间】:2012-04-16 14:18:44
【问题描述】:
作为 WebOperationContext.Current.CreateStreamResponse() 的一部分,我将一些图像作为流返回
我想知道框架是否在该流返回后处理它的关闭。或者,如果您必须在响应中执行某些操作才能正确关闭流。
谢谢。
【问题讨论】:
-
框架关闭返回的流.....
标签: c# asp.net weboperationcontext
作为 WebOperationContext.Current.CreateStreamResponse() 的一部分,我将一些图像作为流返回
我想知道框架是否在该流返回后处理它的关闭。或者,如果您必须在响应中执行某些操作才能正确关闭流。
谢谢。
【问题讨论】:
标签: c# asp.net weboperationcontext
在这里实现 using 不是一个解决方案,我遇到了返回内容很大 (3 MB) 的情况,因为我将 WebOperationContext.Current.CreateStreamResponse() 包装在 using 语句中,流在内容完成之前就关闭了,因此客户端的响应是空白的。
我所做的只是将流输出复制到一个字符串并在 using wrap 中使用 WebOperationContext.Current.CreateTextResponse()。
【讨论】:
嗯,根据我的发现,CreateStreamResponse() 返回一个 Message,它实现了 IDisposable,因此最好将返回的对象包装在 using 语句中。那应该可以正确关闭流。
【讨论】: