2011-09-25 53 views
0

Hihi全部,如何从WCF Restful json webservice返回流和文件长度?

我能够从我的WCF restful json webservice返回流,一切工作正常。但是,当我将流与另一条数据(包装到自定义类中)混合在一起时,在从客户端使用Web服务时,会给出“现有连接被远程主机强行关闭”的错误消息。

任何建议我怎么能实现上述?我的web服务需要的是允许下载带有文件长度的文件,作为客户端验证的附加信息。

在此先感谢! :)

回答

2

在WCF服务合同中使用Stream时有各种限制 - 根据this MDSN link,在流式传输时只能使用一个(输出)参数或返回值(类型为流)。

在另一个MSDN documentation(无论如何,这是一个很好的资源,如果你想使用WCF流式传输大数据),它暗示可以通过使用消息合约来合并流和一些输入/输出数据。 例如,请参阅this blog post,其中作者使用明确的消息合约来上传文件名&文件数据。你必须从下载的角度来做类似的事情。

最后,如果什么都不起作用,那么您可以随时将文件长度作为自定义(或标准内容长度)HTTP标头进行推送。如果您在IIS中托管,则启用ASP.NET兼容性并使用HttpContext.Current.Response添加您的自定义标头。