Свойство MaxBufferSize?
Я всегда думал, что опция WCF BasicHttpBinding MaxBufferSize
предназначена для защиты от DoS-атак, однако следующее замечание в документации странное:
Если сообщение превышает максимальное значение, установленное для буфера, оно не удаляется. Вместо этого, из кучи CLR запрашивается больше памяти, и это влечет за собой больше затрат на сборку мусора, чем при использовании буферов.
Так выглядит собственность MaxBufferSize
больше значения по умолчанию, а не MaxBufferSize. Я что-то пропустил?
1 ответ
Нашел ответ, спасибо BugFinder за подсказку в правильном направлении.
MaxBufferSize
действительно важно только в сценариях потоковой передачи. В буферизованных сценариях WCF для него должно быть установлено то же значение, что и для MaxReceivedMessageSize
(в противном случае генерируется исключение конфигурации). MaxReceivedMessageSize
это тот, который спасает нас от DoS-атак (жесткий лимит).