将整个列表或只是一个页面发送给客户端?

时间:2016-02-19 23:11:13

标签: asp.net performance client-server

我一直在从数据库分页中检索数据,这主要是基于过滤器,主要由客户端通过{{ 1}}。为了让自己尽可能清楚,我将举一个例子:

  1. 用户(客户端)打开客户搜索页面;
  2. 服务器接收初始请求并查询 所有客户列表,过滤前20 并仅返回包含这20行的列表,页面索引总行数返回客户端;
  3. 客户端收到20行,页面索引和行数。 HttpPost以这样一种方式呈现,即会有一个带有页脚的表,其中包含分页,相应于行数;
  4. 用户点击页脚上其他页面的链接后,服务器会收到新请求并执行与之前相同的查询,但现在跳过前20个结果。
  5. 到目前为止,性能令人满意,唯一的瓶颈是等待页面浏览的时间可能相当多。

    但现在它成了一个问题,因为我想实现一个在插入时更新的搜索。用户键入一个字符,并过滤结果以匹配该文本框中包含的内容。

    我该怎么办?我应该将整个集合发送给客户吗?

    我是否通过在向客户端传输数据之前分页来实现最佳理论效果?

2 个答案:

答案 0 :(得分:0)

尝试使用asp.net Gridview Control分页选择

答案 1 :(得分:0)

您只从数据库中提取客户请求的页面(记录限制),并且每当他请求新页面从数据库中再次提取它们时。

将结果存储在会话或内存中完全取决于应用程序的运行方式。考虑给定的用例,在db本身中应用分页。

感谢。