1

我已经运行了带有 transferMode=Buffered WCF 服务的 basicHttpBinding,用于从客户端发送少量数据。

现在,作为增强功能的一部分,需要上传多张图片,每张图片大小约为 5-10 MB。

我计划实施流式传输以上传大文件(逐个文件)。

我的问题 1.缓冲和流传输模式可以并存吗?2.我可以使用相同的配置吗?(端点、绑定等)用于缓冲和流式传输 3. 我是否需要有单独的服务合同,它可以成为现有服务合同的一部分吗?4. 我可以有示例工作代码吗?5. 如果您有其他更好的建议,我愿意采纳。

4

1 回答 1

2

您可以与一些使用流式传输的操作和一些不使用流式传输的操作签订一份合同。

但是,Learning WCF book 建议与流操作有单独的合同。这样,您就有了单独的端点,其绑定具有TransferMode=Streamed.

对于示例工作代码 - 您只需要设置

<basicHttpBinding>
        <binding transferMode="StreamedRequest"/>
      </basicHttpBinding>

在绑定配置中,您的合约操作必须只有 Stream 作为参数(或返回类型)

void Upload(Stream input)
于 2012-05-21T12:40:56.310 回答