2014-10-07 78 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">