WCF maxBufferSize和内存不足异常相关吗?

时间:2016-04-04 20:31:15

标签: c# wcf out-of-memory

maxBufferSize是否可能导致内存不足异常? (System.InsufficientMemoryException: Failed to allocate a managed memory buffer of 67108864 bytes. The amount of available memory may be low.)?

1 个答案:

答案 0 :(得分:0)

是和否。降低缓冲区大小肯定有助于消除错误,但WCF在需要之前不会分配内存。所以显然你正在尝试发送需要超过67mb内存的东西来发送/接收。在这种情况下,降低缓冲区大小只会导致发送/接收失败,除非您调整其他内容。

如果适用,请尝试此解决方案:wcf error while communicating large data

如果您可以在客户端和服务器端点上,那么它的主旨是尝试打开流模式。

...
<basicHttpBinding>
  <binding name="your_binding" maxReceivedMessageSize="your_max"
           transferMode="Streamed"/>
</basicHttpBinding>
...

另外,请尝试查看此帖:Failed to allocate a managed memory buffer of 134217728 bytes. The amount of available memory may be low