|
|
1
2
不,这是不有效的,因为您要返回基础数据库中的每个记录(假定getProductList()返回所有记录)。GridView分页仅意味着它只显示在pageSize中为给定pageIndex定义的行数,但它不影响实际从数据源返回的记录数。 不幸的是,由于您没有直接访问数据库的权限,并且Web服务没有提供任何其他方法,所以您可以做的最好的事情是 cache the data . 幸运的是,ASP.NET cacheing data quite simple . 缓存对象与会话非常类似,只是每个应用程序只有一个实例,而不是每个用户。 |
|
|
2
1
看起来您正在从Web服务中获取所有产品,然后在Web页面中进行排序和分页。这意味着您从Web服务中提取的数据比任何时候都要多。Web服务是否提供了传递表示所需页面、页面大小和排序顺序的参数的功能?如果没有,也许您应该与提供服务的第三方讨论添加这些功能的可能性。 如果这不可能,多久更新一次产品列表?如果更新的频率相对较低,则可以使用ASP.NET缓存在本地存储Web服务调用的结果。缓存的数据源可以设置为每小时过期一次。这样,查看页面的用户将看到一个合理的最新产品列表。 |