用户控件在asp.net和Performance中

Jor*_*lis 6 asp.net performance user-controls

asp.net中的UserControls是否会降低性能.

MasterPage有自己的生命周期页面有自己的生命周期,UserControls有自己的生命周期.

UserControls有助于划分工作负载并且易于维护,但UserControls会降低asp.net应用程序的等级性能吗?

Dav*_*vid 6

我从未见过它们会降低性能,除非你做了一些愚蠢的事情,比如让每个用户控件负责它自己的数据库查找,然后将它们绑在Repeater或类似的东西中.如果你使用常识,它们不应该明显降低性能.

但是,如果您正在讨论优化到处理器周期,我猜他们不会因为一切都被编译成MSIL,然后编译到机器代码,所以我猜测编译器可以将其排序并将其处理用户控件与您直接在页面上拥有所有组成控件没有什么不同.
编辑 - 添加

本文争论如何实际提高性能.有趣.

除了它们的可重用性和灵活性之外,Web用户控件还可以利用ASP.NET缓存引擎来实现所谓的"片段缓存".基本上,片段缓存允许Web开发人员控制各个控件的HTML缓存.一个页面,包括根据查询字符串,控件属性,浏览器类型甚至自定义字符串设置持续时间和缓存控件的各种版本.仅缓存部分页面的能力是强大的,因为页面的一部分通常将访问存储在关系数据库中或通过XML Web服务访问的相对静态数据,而同一页面的其他部分操纵动态数据.对于这些静态部分,创建Web用户控件和设置缓存选项可以大大减少数据库往返次数,从而提高性能.在大多数情况下,明智地使用ASP.NET缓存是可以实现的单一最大性能改进.

好问题.我再一次学到了新东西.谢谢.