1

在我的项目中,有一个页面有大约 10-15 个控件和 3 个树视图。加载需要大量时间,因为需要进行大量逻辑检查。我怎样才能提高它的速度(任何方法、代码或数据库)?请提出一些措施。

例如:每次页面加载时,它都会检查是否允许用户访问该页面。他可以访问哪些控件?树视图也仅基于用户访问进行绑定。

在加载每个控件时,它会一次又一次地获取数据。如何将其最小化?

4

4 回答 4

2

从前端优化开始。

  1. 在不需要的地方禁用控件的 ViewState。
  2. 为您的静态内容设置过期标头。(浏览器缓存)
  3. 启用 GZIP 压缩。

安装 YSLOW、PageSpeed....以获得更多建议。

慢速

页面速度

然后,来后端优化:

缓存经常访问的数据

做一些代码重构.....更多

于 2012-05-29T13:35:19.260 回答
1

在你的应用程序上尝试一个分析器(JetBrains 很好),它会告诉你你的关键点在哪里。如果您认为它与数据库相关,请对您的查询运行解释计划/显示计划,以显示他们花费了多长时间以及他们将时间花在了哪里。确实,您的瓶颈可能在任何地方,需要一些跑腿才能找到它(甚至可能与网络有关)。

于 2012-05-29T13:06:28.690 回答
1

一旦用户通过身份验证,缓存他的登录状态并在你的代码中使用它;看看这是否有所作为。此外,缓存每个用户的数据。您可以使用会话状态来执行此操作。

此外,在您的页面指令标记中将 trace 属性设置为 true - 只是为了确保这是导致性能下降的原因。

于 2012-05-29T13:17:09.147 回答
1

OutputCache可以增加一些共享的partialview/usercontrol。

于 2012-05-29T13:32:05.217 回答