Anilkumar2vvv Ответов: 1

Как разместить очень большие данные запроса в качестве параметра querystring в формате json ?


У меня есть одно требование, когда мне нужно публиковать большие данные как часть запроса в данных JSON.
Я следовал подходу, который будет принимать параметр строки запроса с данными запроса в качестве значения.

Это работает, когда длина значения данных запроса мала, но не работает, когда длина данных запроса значительно увеличивается. Я попытался увеличить maxQueryStringLength, а также maxRequest Length в web.config, но до сих пор не могу этого сделать.Следующая ошибка была показана как "недопустимый запрос".



Пожалуйста помочь.

Заранее спасибо

Что я уже пробовал:

Примечание: запрос был отправлен на метод действия контроллера веб-api внешним сайтом. Это работает на локальных, но не на живых серверах. Все возможные настройки конфигурации пробовали в web.config, но все равно я не могу опубликовать данные запроса.

Ayodeji Oluwatomiwo

Давайте посмотрим, что вы пробовали. ** точная точка, в которой вы передаете данные в строку запроса.

F-ES Sitecore

Строка запроса не предназначена для передачи большого количества данных,если вместо этого вам нужно передать много данных в сообщение.

Anilkumar2vvv

используя только post но это не работает

F-ES Sitecore

Тогда я думаю, что есть проблема с вашим кодом.

Patrice T

Определение "увеличивается в значительной степени"

Anilkumar2vvv

запрашивать данные

Patrice T

Какой размер ?

1 Ответов

Рейтинг:
2

Afzaal Ahmad Zeeshan

Первое правило почтовых запросов. Не трахайте URL-адреса! URL-адреса и строки запросов используются только для получения данных. Когда вы отправляете HTTP-запрос GET, используйте строки запросов или URL-маршруты и т. д., Чтобы получить данные, добавьте фильтрацию к содержимому. Но когда вы собираетесь опубликовать данные, всегда используйте тело запроса, и это одна из причин, почему вы не видите поле пароля, добавляемое к URL-адресу при входе в систему, эти данные должны быть с заголовками (или в них) или в теле запроса как отдельный объект. Тело запроса хорошо подходит для хранения данных, которые должны быть переданы вместе с запросом, и затем вы можете позже получить доступ к этим данным.

Для получения дополнительной информации по запросу тела, пожалуйста, прочитайте, html-что означает тело http-запроса? - переполнение стека[^].

Цитата:
Все возможные настройки конфигурации пробовали в web.config, но все равно я не могу опубликовать данные запроса.
Наконец, хорошая группа администраторов серверов, которые блокируют плохо написанное потребление API. Примите мой совет, удалите эту строку запроса и начните принимать данные либо как заголовок, либо как доступ к данным из любого заголовка, в противном случае используйте тело и добавьте [FromBody] атрибут. Локально вы можете поработать с хорошими практиками сервера и рассмотреть плохие.

Привязка параметров в ASP.NET веб-API | The ASP.NET сайт[^]

Кроме того, существует ограничение на размер самого URL-адреса-2000 символов. Подробнее об этом читайте здесь, http-какова максимальная длина URL-адреса в разных браузерах? - переполнение стека[^Это может быть причиной того, что ваш запрос каждый раз оказывается недействительным.

Извините, но это было первое выражение, которое пришло мне в голову, когда я прочитал вопрос.