【发布时间】:2015-08-10 07:15:52
【问题描述】:
我正在尝试使用 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>
运行代码时出现内存不足异常,如何解决?
【问题讨论】:
-
也许是时候重新考虑您的解决方案而不是在一条消息中发送 10GB 了?或者考虑将
Streaming 添加到您的服务msdn.microsoft.com/en-us/library/ms733742(v=vs.110).aspx
标签: c# web-services visual-studio-2010 wcf memory