WCF大文件上载中的内存不足

时间:2015-08-10 07:15:52

标签: c# web-services visual-studio-2010 wcf memory

我正在尝试使用WCF上传大文件(> 10GB)。 Service Web.config如下所示

<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding" maxBufferPoolSize="2147483647000000" maxReceivedMessageSize="2147483647000000" transferMode="Streamed">
      <readerQuotas maxDepth="200000000" maxStringContentLength="2147483647"
     maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    </binding>
  </basicHttpBinding>
</bindings>

<client>
  <endpoint address="http://localhost:42890/Service1.svc"  behaviorConfiguration="endpointBehavior"
    binding="basicHttpBinding" 
    contract="UploadFileService.IService1" name="BasicHttpBinding"  />
</client>

客户端web.config如下

   <bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding" closeTimeout="10:00:00" openTimeout="10:00:00"
      receiveTimeout="10:00:00" sendTimeout="10:00:00" maxBufferPoolSize="2147483647000000"
      maxReceivedMessageSize="2147483647000000" />
  </basicHttpBinding>
</bindings>

           

运行代码时内存不足,我该如何解决呢?

1 个答案:

答案 0 :(得分:0)

在您的解决方案中,定位x64而不是任何CPU。这将允许更多的内存分配。

但是,根据您的解决方案,您可以将Stream文件转到磁盘,而不需要使用这么多内存。