Максимальное значение для aspnet: MaxHttpCollectionKeys
У меня есть форма, в которой размещаются довольно большие данные, и я получаю эту ошибку.
[InvalidOperationException: Operation is not valid due to the current state of the object.]
System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +2419334
System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +58
System.Web.HttpRequest.FillInFormCollection() +159
[HttpException (0x80004005): The URL-encoded form data is not valid.]
System.Web.HttpRequest.FillInFormCollection() +217
System.Web.HttpRequest.get_Form() +104
System.Web.HttpRequest.get_HasForm() +9035903
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +69
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +135
Чтобы решить эту проблему, я получил qaru.site/info/258523/...
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="2000" />
</appSettings>
Теперь я хотел бы узнать максимальное допустимое значение, которое может быть установлено для aspnet:MaxHttpCollectionKeys
. Есть ли проблема в настройке этой клавиши на ее максимальное значение?
Ответы
Ответ 1
Вы можете увидеть реализацию MaxHttpCollectionKeys в источнике aspnetwebstack на GitHub.
Из реализации кажется, что это пределы:
- MaxHttpCollectionKeys - это int, поэтому он может иметь максимальное значение целого числа (int.MaxValue: 2,147,483,647)
- Минимальное значение: 1
- Значение по умолчанию - 1000
Эта страница MSDN рекомендует не устанавливать MaxHttpCollectionKeys слишком большое значение, поскольку это может представлять угрозу безопасности.
![введите описание изображения здесь]()