带有ASMX接口的WCF Webservice返回Stream

时间:2013-05-07 03:37:39

标签: c# wcf stream asmx

我有一个用于系统间,网络间集成的WCF服务。该服务最初仅使用WCF SVC接口创建,但由于开发后需要添加ASMX接口,因此需要在服务中添加ASMX接口。

现在,到目前为止,所有这些工作都很顺利。直到现在我们才向Web服务添加了两个新方法,其中一个方法接受System.IO.Stream作为其参数之一,另一个方法返回System.IO.Stream,我们遇到了问题

WCF界面很乐意使用这两个Streams。 ASMX接口在被客户端引用为Web引用时,似乎在其自动生成的客户端代码中创建了一个抽象类:public abstract class Stream

之前还有其他人尝过这个吗?我想知道我的选择是什么。现在我想保持原样,如果只有一个我缺少的小组件。如果没有,我是否可以创建这些Stream方法的两个副本,一个采用Stream而另一个采用字节数组,并添加属性以便WCF公开一个,ASMX公开另一个?

1 个答案:

答案 0 :(得分:2)

不,旧版ASMX Web服务不支持流式传输。它是WCF中用于​​大数据和流媒体的新功能。

绕过这种方法的一个基本方法是将你的流分成块并将其分块发送。

您可以使用WSE和MTOM实现类似的行为,但我不确定您会得到相同的结果。见here