接受WCF服务中的任何大文件或请求

时间:2014-10-07 11:35:01

标签: wcf wcf-binding

我有WCF服务。约。每月一次将大型XML转储上传到此服务。我还不知道,文件有多大(可能非常大)。

当我想读取收到的数据时,我收到了CommunicationException

  

{“传入邮件的最大邮件大小限额(65536)具有   被超过了。要增加配额,请使用MaxReceivedMessageSize   适当的绑定元素上的属性。“}

public void UploadFile(FileUploadMessage request)
{
    //... 
    request.sourceStream.Read(buffer, 0, bufferLen);
}

现在我的约束力:

    <bindings>
        <basicHttpsBinding>
            <binding messageEncoding="Mtom" transferMode="StreamedRequest" >

现在,由于我不知道上传的文件有多大,我可以配置我的绑定来接受任何大小的请求吗?即使我将maxReceivedMessageSize设置为任何大数字,也可能会有更多的数据。

1 个答案:

答案 0 :(得分:0)

通过更改为TCP绑定并允许最多10 GB来修复此问题。

<services>
    <service >
        <endpoint address="uploadservice" binding="netTcpBinding" contract="UploadService.IUploadService" />

<bindings>
    <netTcpBinding>
        <binding transferMode="StreamedRequest" maxReceivedMessageSize="10240000000">