Я пытаюсь разрешить пользователю редактировать и сохранять роли пользователя.Внутри этих ролей существуют различные типы объектов, на которые им разрешено иметь права CRUD.Когда я передаю данные из полимера в контроллер через iron-ajax
, они проходят правильно, за исключением случаев, когда для многих из этих объектов установлены права CRUD.Эти объекты и их права CRUD отправляются в виде JSON-строки в метод контроллера.
Для небольшого количества (например, 30 элементов с CRUD и 2 других права) он работает успешно.Контроллер получает запрос правильно и роль сохраняется.
Однако, как только я пытаюсь пройти через большое количество (например, 100 элементов с CRUD и 2 других права), возникает следующая ошибка:

Я пробовал комбинации настроек handle-as
и content-type
в определении iron-ajax
,использование params
против body
в вызове ajax и наличие метода контроллера с атрибутом [HttpPost]
и без него.
Код Iron-Ajax:
<iron-ajax id="saveRole"
url="[[_getUrl('Roles/SaveRole')]]"
method="POST"
handle-as="json"
on-response="_handleSavedRole"
on-error="_handleSavedRoleError">
</iron-ajax>
ВызовФункция:
this.$.saveRole.params = { id: this.data.Id, name: this.data.Name, unitPermissions: JSON.stringify(this.data.UnitPermissions), projectPermissions: JSON.stringify(this.data.ProjectPermissions) };
this.$.saveRole.generateRequest();
Метод контроллера Подпись:
[HttpPost]
public ActionResult SaveRole(String id, String name, String unitPermissions, String projectPermissions)
Редактировать:
Использование принятого ответа на Как настроитьweb.config, чтобы разрешить запросы любой длины , возникающая ошибка изменилась на следующее:

Редактировать:
На другом компьютере я получаю другую ошибку для некоторых запросов среднего размера (от 75 доnd 100):

Я попытался исправить это с помощью следующего в моем файле web.config, но это не сработало.
<requestLimits maxAllowedContentLength="1073741824" maxQueryString="2097151"/>