Размер данных ответа http веб-API Asp.net - PullRequest
0 голосов
/ 04 июня 2018

У меня есть веб-API asp.net с получением списка данных из базы данных с очень тяжелым SQL-запросом (с использованием процедуры сохранения), а затем сериализацией в json, мой результат данных может когда-нибудь вернутьсяболее 100 000 строк данных и превышает максимальное ограничение ответа HTTP JSON, которое составляет 4 МБ , я пытался использовать нумерацию страниц, чтобы ограничить размер моего результата, но это снижает производительность, так как каждый раз, когда пользователь нажимает на следующееpage вызовет тяжелую команду sql , но если я не использую разбиение на страницы, иногда размер данных результата превышает 4 МБ, и моя сетка на стороне клиента не будет правильно отображаться.Поскольку у меня нет способа проверить размер данных JSON перед отправкой обратно клиенту из веб-API.Поэтому мои вопросы будут такими:

  1. Есть ли способ проверить размер данных в веб-интерфейсе asp.net перед отправкой клиенту?Например, если его размер превышает 4 МБ, отправьте ответ «пожалуйста, измените диапазон дат, чтобы было меньше данных»?Будет ли это хорошей идеей в дизайне приложения?
  2. Есть ли способ сохранить весь результат данных в кеше или где-нибудь с помощью asp.net web api, чтобы каждый раз, когда пользователь выполнял разбиение на страницы, он не получалрезультат снова из базы данных, но из кеша.
  3. Есть ли способ сохранить результаты всех данных в кеше или во временном файле на стороне клиента (используя Angular 5), чтобы при выполнении нумерации страниц пользователь не запрашивал еще один http-вызов веб-API.

Я был бы более чем рад выслушать любой опыт или предложение от кого-либо!Большое спасибо!

...