在我的项目中,有一个页面有大约 10-15 个控件和 3 个树视图。加载需要大量时间,因为需要进行大量逻辑检查。我怎样才能提高它的速度(任何方法、代码或数据库)?请提出一些措施。
例如:每次页面加载时,它都会检查是否允许用户访问该页面。他可以访问哪些控件?树视图也仅基于用户访问进行绑定。
在加载每个控件时,它会一次又一次地获取数据。如何将其最小化?
在我的项目中,有一个页面有大约 10-15 个控件和 3 个树视图。加载需要大量时间,因为需要进行大量逻辑检查。我怎样才能提高它的速度(任何方法、代码或数据库)?请提出一些措施。
例如:每次页面加载时,它都会检查是否允许用户访问该页面。他可以访问哪些控件?树视图也仅基于用户访问进行绑定。
在加载每个控件时,它会一次又一次地获取数据。如何将其最小化?
在你的应用程序上尝试一个分析器(JetBrains 很好),它会告诉你你的关键点在哪里。如果您认为它与数据库相关,请对您的查询运行解释计划/显示计划,以显示他们花费了多长时间以及他们将时间花在了哪里。确实,您的瓶颈可能在任何地方,需要一些跑腿才能找到它(甚至可能与网络有关)。
一旦用户通过身份验证,缓存他的登录状态并在你的代码中使用它;看看这是否有所作为。此外,缓存每个用户的数据。您可以使用会话状态来执行此操作。
此外,在您的页面指令标记中将 trace 属性设置为 true - 只是为了确保这是导致性能下降的原因。
OutputCache可以增加一些共享的partialview/usercontrol。