Свойство MaxBufferSize?

Я всегда думал, что опция WCF BasicHttpBinding MaxBufferSize предназначена для защиты от DoS-атак, однако следующее замечание в документации странное:

Если сообщение превышает максимальное значение, установленное для буфера, оно не удаляется. Вместо этого, из кучи CLR запрашивается больше памяти, и это влечет за собой больше затрат на сборку мусора, чем при использовании буферов.

Так выглядит собственность MaxBufferSize больше значения по умолчанию, а не MaxBufferSize. Я что-то пропустил?

1 ответ

Решение

Нашел ответ, спасибо BugFinder за подсказку в правильном направлении.

MaxBufferSize действительно важно только в сценариях потоковой передачи. В буферизованных сценариях WCF для него должно быть установлено то же значение, что и для MaxReceivedMessageSize (в противном случае генерируется исключение конфигурации). MaxReceivedMessageSize это тот, который спасает нас от DoS-атак (жесткий лимит).

Другие вопросы по тегам