2014-10-07 79 views
0

我有WCF服务。约。一个月大的XML转储将被上传到此服务。我还不知道,文件可能有多大(可能非常大)。接受WCF服务中的任何大文件或请求

我得到的CommunicationException当我想读取接收数据

{“最大邮件大小配额传入消息(65536)已 被超过。为了增加配额,使用MaxReceivedMessageSize 财产上的。适当的绑定元素“}

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

现在我结合:

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

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

回答

0

此问题已通过更改为TCP绑定并允许高达10 GB来解决。

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

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