从ASP.net Web服务返回大量数据时有哪些好的做法?
我正在为我们的客户开发一些Web服务.在我们向他们提供之前,我们希望优化数据库调用的性能,因为可能会返回大量数据. (可能是成千上万的对象,可能是数百万,每个对象包含大约12个其他对象的列表)
我们不希望压缩我们的服务器,也不想不必要地限制Web服务. 其中一个Web服务方法返回指定日期范围内的所有数据,我想如果返回的数据量大于设定的数量,则返回一条消息,说明如下: “数据太大,请减少日期范围” 限制用户的范围就像一个好主意? 我必须限制我们的客户端一次性检索的数据量,但仍然尽可能方便.我的意思是,他们也是程序员,所以它不必太简单,但要简单易用. 有关通过Web服务返回大量数据的一些好方法? 谢谢! 解决方法
您可能能够调整列表或网格中显示的分页数据的常用技术.对数据库的调用指定要返回的记录数和页码.
因此,例如,如果他们在页面上显示10条记录,则只返回10条记录进行显示.记录1 – 10(或0 – 9,如果您愿意)将返回第1页,11 – 20返回第2页,依此类推. 通常还会返回可用记录的总数. 这样,用户可以继续滚动大量记录,或者他们可以选择优化其搜索条件以产生较小的结果集. 您可以考虑为您的Web服务使用这种分页或分块方法. Web服务调用提供要在每个块中发送的记录数,以及“页面”或“块”数. Web服务返回请求的记录以及可用的记录总数. 使用这种方法,使用Web服务的开发人员仍然可以控制. 调用代码可以放在一个循环中,以便它继续请求块,如果需要这种行为.如果有人真的想要一大堆记录,他们只需将记录参数设置为一个非常大的数字(或者你可以将它作为一个可选参数,如果它是null,零,空,则返回所有内容). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- azure – 从我的ASP.NET网站执行按需Web作业?
- asp.net-mvc – 不能删除数据库,因为它目前正在使用MVC
- 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,
- asp.net-mvc – VaryByParam =“*”是否也读取了RouteData.
- asp.net – 可以为IIS的HTTP压缩添??加axd扩展吗?
- asp.net-mvc – 在MVC3中使用两个可选参数的路由不起作用
- asp.net-mvc – MVC Model Binding不适用于Kendo Grid
- asp.net – 手动将MVC Web应用程序从3升级到4,无法添加API控
- asp.net-mvc-4 – 带ID的Html.Actionlink
- asp.net-mvc – asp.net mvc中的内容文件夹是否神圣?
- asp.net-mvc – 为什么ASP.NET MVC上的控制器基于
- asp.net – IIS 7.5 Web应用程序首先请求应用程序
- ASP.NET MVC:数据注释验证足够了吗?
- asp.net-mvc – 在ASP.NET MVC 2中模板化Html.Di
- asp.net-mvc – 将父ID添加到隐藏字段
- asp.net-mvc-3 – ASP.NET MVC 3 RTM项目中的这个
- ASP.NET使用SHA256还是SHA1?
- asp.net – MVC 4 – 在局部视图中使用不同的模型
- asp.net-mvc – CSS / Javascript缩小和捆绑在MV
- ASP.NET Core 使用Swagger