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