Указав MaxHttpCollectionKeys для определенной страницы?

Мне интересно, есть ли способ изменить это значение для конкретной страницы, а не устанавливать его для всего проекта. Мы сталкиваемся с лимитом, но только на пару страниц. В нашем проекте используется .NET 3.5.

Для тех, кто не знает, для чего предназначена эта переменная, нужно обойти это: http://support.microsoft.com/kb/2661403

По существу, если у вас много ключей формы (более 1000), вы получите исключение при отправке на страницу. Вы можете обойти это, указав в своем web.config:

Было задано несколько вопросов об этом ограничении, например: 'Операция недействительна из-за ошибки текущего состояния объекта во время обратной передачи

Однако я не видел ничего связанного с установкой этого для определенной страницы.

Ответ 1

Нет, это невозможно. Он всегда проверяет appSetting aspnet:MaxHttpCollectionKeys, и если он отсутствует, он будет установлен в 1000. Вы не можете переопределить это, потому что чтение значения и значения по умолчанию выполняется внутри внутреннего класса.

Возможно, лучший подход заключался бы в создании формы с менее чем 1000 элементами. Может быть, в форме волшебника. Или, может быть, объединив несколько значений в единую структуру данных и десериализируя их на сервере.