Указав MaxHttpCollectionKeys для определенной страницы?
Мне интересно, есть ли способ изменить это значение для конкретной страницы, а не устанавливать его для всего проекта. Мы сталкиваемся с лимитом, но только на пару страниц. В нашем проекте используется .NET 3.5.
Для тех, кто не знает, для чего предназначена эта переменная, нужно обойти это:
http://support.microsoft.com/kb/2661403
По существу, если у вас много ключей формы (более 1000), вы получите исключение при отправке на страницу. Вы можете обойти это, указав в своем web.config:
Было задано несколько вопросов об этом ограничении, например:
'Операция недействительна из-за ошибки текущего состояния объекта во время обратной передачи
Однако я не видел ничего связанного с установкой этого для определенной страницы.
Ответы
Ответ 1
Нет, это невозможно. Он всегда проверяет appSetting aspnet:MaxHttpCollectionKeys
, и если он отсутствует, он будет установлен в 1000. Вы не можете переопределить это, потому что чтение значения и значения по умолчанию выполняется внутри внутреннего класса.
Возможно, лучший подход заключался бы в создании формы с менее чем 1000 элементами. Может быть, в форме волшебника. Или, может быть, объединив несколько значений в единую структуру данных и десериализируя их на сервере.