WCF如何并排缓冲和流模式

时间:2012-05-21 10:07:55

标签: wcf

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

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

我计划实现用于上传大文件的流式传输(逐个文件)。

我的问题 1.缓冲和Stream TransportMode可以并排存在吗? 2.我可以使用相同的配置吗? (端点,绑定等)用于缓冲和流式传输 3.我是否需要单独的服务合同,是否可以成为现有服务合同的一部分? 4.我可以提供样品工作代码吗? 如果你有任何其他更好的建议,我愿意接受。

1 个答案:

答案 0 :(得分:1)

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

但是,学习WCF书籍建议与流媒体操作签订单独的合同。这样,您就可以使用具有TransferMode=Streamed的绑定的单独端点。

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

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

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

void Upload(Stream input)