将大字节[]发送到WCF

时间:2013-07-09 06:50:53

标签: c# wcf

这个问题已经在SO上问了一段时间。但我无法理解这些解决方案 我有WCF服务,用于保存从客户端发送的文件。它适用于10kb
这对我来说并不足够。如何使用100MB来增强它。

  <binding name="BasicHttpBinding_IUpload" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" maxBufferPoolSize="64000000" maxReceivedMessageSize="64000000" transferMode="Streamed">
      <readerQuotas maxDepth="32" maxStringContentLength="64000000" maxArrayLength="64000000" maxBytesPerRead="64000000" maxNameTableCharCount="64000000" />
  </binding>

发送大文件时出现此异常

  

远程服务器返回了意外的响应:(413)请求实体太大。

已编辑

 <endpoint address="http://localhost:82/Upload/Upload.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IUpload"
    contract="DatabaseService.IUpload" name="BasicHttpBinding_IUpload" />

1 个答案:

答案 0 :(得分:0)

您必须更改web.config以接受大请求:

<system.web>
  <httpRuntime 
    executionTimeout="90" 
    maxRequestLength="110000" 
  />
 ...

maxRequestLength默认为4096(4mb),将其更改为110000以接受超过100mb。并确保您的executionTimeout足够大(以秒为单位)。