Asp.net Web API http响应数据大小

时间:2018-06-04 04:40:28

标签: json performance asp.net-web-api asp.net-web-api2 httpresponse

我有一个asp.net web api,用一个非常繁重的sql查询(使用存储过程)从数据库中获取数据列表然后序列化为json,我的数据结果可能返回有时超过100,000行的数据超出了http JSON响应的最大限制,这是4MB ,我一直试图使用分页来限制我的结果大小,但是它会降低每次性能用户点击下一页将触发沉重的sql命令,但如果我不使用分页,有时结果数据大小超过4MB,我的客户端网格不能正确渲染。因为在从web api发送回客户端之前,我没有办法检查JSON数据大小。所以我的问题是:

  1. 在发送回客户端之前,有没有办法检查asp.net web api中的数据大小?例如,如果它超过4MB,则发送回复说“#34;请修改您的日期范围以获得更少的数据&#34 ;?这在应用程序设计中是个好主意吗?
  2. 有没有办法将整个数据结果保存在缓存中 在某个地方使用asp.net web api,以便每次用户执行时 分页,它不会再从数据库获得结果而是从 缓存。
  3. 有没有办法将整个数据结果存储在缓存中或客户端的临时文件中(使用Angular 5),这样当用户执行分页时,它不会再请求对web api的http调用。
  4. 我会非常乐意倾听任何人的经验或建议!非常感谢你!

0 个答案:

没有答案