我已经运行了带有transferMode =缓冲WCF服务的basicHttpBinding,用于从客户端发送少量数据。
现在,作为增强功能的一部分,需要上传多张图片,每张图片大小约为5-10 MB。
我计划实现用于上传大文件的流式传输(逐个文件)。
我的问题 1.缓冲和Stream TransportMode可以并排存在吗? 2.我可以使用相同的配置吗? (端点,绑定等)用于缓冲和流式传输 3.我是否需要单独的服务合同,是否可以成为现有服务合同的一部分? 4.我可以提供样品工作代码吗? 如果你有任何其他更好的建议,我愿意接受。
答案 0 :(得分:1)
您可以与一些使用流式传输的操作签订一份合同,而不签署一些合同。
但是,学习WCF书籍建议与流媒体操作签订单独的合同。这样,您就可以使用具有TransferMode=Streamed
的绑定的单独端点。
对于示例工作代码 - 您只需要设置
<basicHttpBinding>
<binding transferMode="StreamedRequest"/>
</basicHttpBinding>
在绑定配置中,您的合同操作必须只有Stream作为参数(或返回类型)
void Upload(Stream input)