如何通过WCF处理大文件上传?

我正在考虑将WCF用于一个项目,该项目需要人们能够将大文件(64MB-1GB)上传到我的服务器。我将如何使用WCF处理此问题,可能还具有恢复上传的功能。

为了处理更大的客户群,我想通过WCF测试JSON。这将如何影响文件上传?可以通过JSON完成,还是需要将上传部分切换到REST?

回答:

如果要上传大文件,则肯定需要查看WCF流模式。

基本上,您可以更改绑定上的传输模式;默认情况下,它是经过缓冲的,即整个消息需要在发送者上进行缓冲,序列化,然后整体传输。

使用流传输,您可以定义单向流传输(仅用于上传,仅用于下载)或双向流传输。这是通过设置您的结合的transferMode做StreamedRequestStreamedResponse或只是普通的Streamed

<bindings>

<basicHttpBinding>

<binding name="HttpStreaming"

maxReceivedMessageSize="2000000"

transferMode="StreamedRequest"/>

</basicHttpBinding>

</bindings>

然后,您需要有一个服务合同,该合同可以接收类型的参数Stream(用于上载),或返回类型的值Stream(用于下载)。

[ServiceContract]

public interface IFileUpload

{

[OperationContract]

bool UploadFile(Stream stream);

}

那应该做!

以上是 如何通过WCF处理大文件上传? 的全部内容, 来源链接: utcz.com/qa/397798.html

回到顶部