1

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

现在,到目前为止,所有这些都运行良好。只是现在我们向 Web 服务添加了两个新方法,其中一个接受 aSystem.IO.Stream作为其参数之一,另一个返回 a System.IO.Stream,我们遇到了问题。

WCF 接口很高兴与这两个 Stream 一起工作。当客户端将 ASMX 接口作为 Web 参考引用时,它似乎在其自动生成的客户端代码中创建了一个抽象类:public abstract class Stream.

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

4

1 回答 1

2

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

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

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

于 2013-05-07T04:40:27.333 回答