Подтвердить что ты не робот

Максимальное значение для 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. Есть ли проблема в настройке этой клавиши на ее максимальное значение?

4b9b3361

Ответ 1

Вы можете увидеть реализацию MaxHttpCollectionKeys в источнике aspnetwebstack на GitHub.

Из реализации кажется, что это пределы:

  • MaxHttpCollectionKeys - это int, поэтому он может иметь максимальное значение целого числа (int.MaxValue: 2,147,483,647)
  • Минимальное значение: 1
  • Значение по умолчанию - 1000

Эта страница MSDN рекомендует не устанавливать MaxHttpCollectionKeys слишком большое значение, поскольку это может представлять угрозу безопасности. введите описание изображения здесь