具有返回流的ASMX接口的WCF Webservice



我有一个用于系统间、网络间集成的WCF服务。该服务最初仅使用WCF SVC接口创建,但由于开发后出现的需求,我们需要向服务添加ASMX接口。

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

WCF接口可以很好地与这两个流一起工作。ASMX接口,当被客户端引用为Web引用时,似乎已经在其自动生成的客户端代码中创建了一个抽象类:public abstract class Stream

以前有人试过吗?我在想我有什么选择。现在我想保持现状,如果有一个小组件我遗漏了。如果没有,我是否可以创建这些流方法的两个副本,一个接受流,另一个接受字节数组,并添加属性,以便WCF公开一个,ASMX公开另一个?

不支持,Legacy ASMX Web服务不支持流。这是WCF中针对大数据和流媒体的新特性。

绕过这个的一个基本方法是将你的流分成块,然后一块一块地发送。

您可以使用WSE和MTOM实现类似的行为,但我不确定您是否会得到相同的结果。请看这里

最新更新