пятница, 27 января 2012 г.

Ошибка "Operation is not valid due to the current state of the object." при сохранении формы

После внеочередного апдейта MS11-100 Microsoft от 29 декабря 2011 года против DDoS перестали работать формы с большим числом контролов.
Выпадают с такой ошибой:
Operation is not valid due to the current state of the object.

В StackTrace висит последним вызов:
System.Web.HttpRequest.FillInFormCollection()

После разборок, выяснилось, что это включилось/появилось ограничение на общее число отправляемых формой ключей (ну и файлов и объектов JSON). По умолчанию значение равно 1000. Лечится добавлением в web.config в секцию AppSettings следующей строки с указанием нужного вам количества ключей:
<add key="aspnet:MaxHttpCollectionKeys" value="20000" />

Подробнее.
Отправить комментарий