WCF如何处理大文件上传?我正在考虑将WCF用于需要人们将大文件(64MB-1GB)上传到我的服务器的项目。我如何使用WCF处理这个问题,以及可能恢复上传的能力。为了处理更大的客户群,我想通过WCF测试JSON。这对文件上传有何影响?可以从JSON完成吗,还是我需要切换到REST上传部分?如果你想上传大文件,你肯定需要研究WCF流模式。基本上,您可以更改绑定的传输模式;默认情况下它是缓冲的,即整个消息需要在发送方缓冲,序列化,然后作为一个整体传输。使用Streaming,您可以定义单向流(仅上传、仅下载)或双向流。这是通过将绑定的传输模式设置为StreamedRequest、StreamedResponse或只是简单的Streamed来完成的。然后你需要有一个服务合同,它要么接收一个Stream类型的参数(用于上传),要么返回一个Stream类型的值(用于下载)。[ServiceContract]publicinterfaceIFileUpload{[OperationContract]boolUploadFile(Streamstream);}应该这样做!MTOM经过优化以处理大型二进制数据。您可以将webHttpBinding与TransferMode流和单个Stream参数或Stream响应(视情况而定)用于大文件上传/下载,但您必须通过URL和/或标头发送任何请求元数据,除非您在Stream上设计自己的框架。您必须构建一个自定义的非HTML客户端(如Silverlight、Flash等),因为浏览器不支持对本地文件的随机访问,并且正常的文件上传将是表单发布,而不是JSON。以上就是C#学习教程:WCF上传大文件如何处理?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
