2014-09-26 4 views
0

Я работаю над доказательством концепции с использованием Web API для предоставления результатов отчета. Единственный улов заключается в том, что характер этих отчетов включает в себя длинный список входных параметров. Например, один отчет запрашивает информацию о сотрудниках и принимает электронную почту в качестве идентификатора. Если у кого-то есть список из 2000 сотрудников из Excel, это может стать массивным входным параметром.Пропустить длинный список входных параметров в web api

В идеале я хотел бы позволить пользователю просто вставить список в текстовое поле, нажать кнопку, а затем позволить моему коду разобрать список и сгенерировать результаты за один раз. Я мог бы реструктурировать вещи и вместо этого заставить пользователя опубликовать их список ввода (сохранение парм в таблицу БД), а затем запустить отчет.

Есть ли способ справиться с этим или следует пересмотреть с помощью вызова API Web в этом режиме «все в один ход»?

ответ

0

Максимальный размер строки запроса - 2048 символов. Это можно легко изменить в файле web.config, используя перечисленные ниже настройки.

Однако мне сообщили, что длина строки запроса также специфична для браузера. Поэтому я не уверен, что для вас будет достаточно длины символов по умолчанию.

Другим решением является -

Если у вас есть очень большая строка запроса, то вы можете отправить свой запрос Получить как POST, и вы можете передать массив класса. Вы также можете передать массив

[HttpPost] 
[Route("/reports/employeereport")] 
public void Employee(CustomObject[] pos) 
{ 
} 

вы можете вызвать этот метод как:

$.ajax({ 
    url: "/reports/employeereport", 
    data: JSON.stringify({ pos: objectData }) , 
    dataType: 'json', 
    contentType: 'application/json' 
    type: 'POST', 
}); 
Смежные вопросы