提高asp.net c#中的页面性能

本文关键字:性能 asp net 提高 | 更新日期: 2023-09-27 17:57:49

我有一个有21000条记录的GridView,我正在使用存储过程从DB中获取。最初,当我从Web应用程序单击此页面时,加载此页面需要花费太多时间。此外,我在这个页面中有一个下拉列表作为过滤器,当选择下拉值时,加载数据需要太多时间。我使用LINQ查询来筛选下拉值。

我怎样才能提高页面的性能。

提高asp.net c#中的页面性能

你很幸运。这种情况可能有太多错误,以至于你有很多机会改进。

你需要把问题分解成可处理的部分。

  1. 分析存储过程性能。返回21000条记录需要多长时间
  2. 您的筛选是在web服务器上而不是在数据库查询中进行的吗?这将增加一些额外的开销
  3. 即使网络浏览器立即接收到网页,它也无法在合理的时间内呈现21000条记录。大网格会增加页面渲染时间的大量开销

对于这个页面,你最好的选择可能是将其转换为使用分页,并且一次只在屏幕上显示10到100条记录。您的查询应该包含过滤器,然后获取用户将看到的信息页。

我建议不要同时加载所有记录

原因很简单,因为

you are not going to show all the records at same time

使用延迟加载并仅加载当前正在显示的记录。

这将使页面加载更快,并且可以看到显著的性能改进。

这里需要注意的是:渲染这些记录的html比从数据库中获取它们需要更多的时间。

如果实现延迟加载,请确保执行服务器端过滤

一定要混淆客户端过滤,这可能会产生错误的结果

希望这能帮助

21000条记录太多,无法在单个页面中显示。相反,我建议您使用分页支持来限制一次检索的数据量。以下是如何实现:http://www.codeproject.com/Articles/67520/GridView-Paging-and-Sorting

上面的链接也将解决下拉问题。