加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

从ASP.net Web服务返回大量数据时有哪些好的做法?

发布时间:2020-12-16 06:31:02 所属栏目:asp.Net 来源:网络整理
导读:我正在为我们的客户开发一些Web服务.在我们向他们提供之前,我们希望优化数据库调用的性能,因为可能会返回大量数据. (可能是成千上万的对象,可能是数百万,每个对象包含大约12个其他对象的列表) 我们不希望压缩我们的服务器,也不想不必要地限制Web服务. 其中一
我正在为我们的客户开发一些Web服务.在我们向他们提供之前,我们希望优化数据库调用的性能,因为可能会返回大量数据. (可能是成千上万的对象,可能是数百万,每个对象包含大约12个其他对象的列表)

我们不希望压缩我们的服务器,也不想不必要地限制Web服务.

其中一个Web服务方法返回指定日期范围内的所有数据,我想如果返回的数据量大于设定的数量,则返回一条消息,说明如下:

“数据太大,请减少日期范围”

限制用户的范围就像一个好主意?

我必须限制我们的客户端一次性检索的数据量,但仍然尽可能方便.我的意思是,他们也是程序员,所以它不必太简单,但要简单易用.

有关通过Web服务返回大量数据的一些好方法?

谢谢!

解决方法

您可能能够调整列表或网格中显示的分页数据的常用技术.对数据库的调用指定要返回的记录数和页码.

因此,例如,如果他们在页面上显示10条记录,则只返回10条记录进行显示.记录1 – 10(或0 – 9,如果您愿意)将返回第1页,11 – 20返回第2页,依此类推.

通常还会返回可用记录的总数.

这样,用户可以继续滚动大量记录,或者他们可以选择优化其搜索条件以产生较小的结果集.

您可以考虑为您的Web服务使用这种分页或分块方法. Web服务调用提供要在每个块中发送的记录数,以及“页面”或“块”数. Web服务返回请求的记录以及可用的记录总数.

使用这种方法,使用Web服务的开发人员仍然可以控制.

调用代码可以放在一个循环中,以便它继续请求块,如果需要这种行为.如果有人真的想要一大堆记录,他们只需将记录参数设置为一个非常大的数字(或者你可以将它作为一个可选参数,如果它是null,零,空,则返回所有内容).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读