如何从WCF Restful json webservice返回流和文件长度

本文关键字:文件 返回 webservice WCF Restful json | 更新日期: 2023-09-27 18:09:53

大家好,

我能够从我的WCF restful json web服务返回流,一切工作正常。但是当我将流与另一块数据(都包装到自定义类中)混合时,在从我的客户端消费webservice时,它给出了一个错误消息"现有连接被远程主机强制关闭"。

有什么建议吗?我的webservice所需要的是允许下载文件,并将文件长度作为客户端验证的附加信息。

提前感谢!:)

如何从WCF Restful json webservice返回流和文件长度

在WCF服务契约中使用Stream有各种限制-根据这个MDSN链接,只有一个(输出)参数或返回值(流类型)可以在流时使用。

在另一个MSDN文档中(无论如何这是一个很好的资源,如果你想使用WCF流化大数据),已经暗示可以通过使用消息契约将流和一些输入/输出数据结合起来。例如,请参阅这篇博客文章,其中作者使用了显式消息契约来上传文件名&文件数据。你必须从下载的角度做类似的事情。

最后,如果没有效果,那么您可以将文件长度作为自定义(或标准,如内容长度)HTTP头推送。如果您在IIS中托管,那么启用ASP。. NET兼容性和使用HttpContext.Current.Response添加您的自定义头