MaxBufferSize属性?

时间:2016-03-07 12:44:48

标签: c# wcf

我一直认为,WCF BasicHttpBinding选项MaxBufferSize旨在保护我免受DoS攻击,但documentation中的以下注释很奇怪:

  

如果消息超过为缓冲区设置的最大值,则不会丢弃该消息。相反,从CLR堆请求更多内存,这比使用缓冲区产生更多的垃圾收集开销。

所以看起来属性MaxBufferSize更多是默认值​​而不是 MaxBufferSize 。我想念一下吗?

1 个答案:

答案 0 :(得分:3)

找到答案,谢谢BugFinder提示正确的方向。

MaxBufferSize仅在方案中非常重要。在缓冲 WCF场景中,必须将其设置为与MaxReceivedMessageSize相同的值(否则将引发配置异常)。 MaxReceivedMessageSize是我们免受DoS攻击(硬限制)的原因。