asp.net - ASP.NET 中的用户控件和性能

标签 asp.net performance user-controls

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

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

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

最佳答案

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

但是,如果您谈论的是处理器周期的优化,我猜他们不会,因为所有内容都是如何编译为 MSIL,然后编译为机器代码,所以我猜编译器可以对其进行整理并处理用户控件与直接在页面上拥有所有组成控件没有什么不同。
编辑 - 添加

This article争论他们如何能够真正提高性能。有趣的。

In addition to their reusability and flexibility, Web user controls can take advantage of the ASP.NET caching engine to implement what is referred to as “fragment caching.” Essentially, fragment caching allows a Web developer to control the HTML caching of individual controls on a page, including setting the duration and caching various versions of the control based on query string, control properties, browser type, and even custom strings. The ability to cache only portions of pages is powerful since a portion of a page will often access relatively static data stored in a relational database or accessed through an XML Web service, while other portions of the same page manipulate dynamic data. For these static portions, creating a Web user control and setting caching options greatly reduces the number of database round trips, thereby increasing performance. In most instances, using ASP.NET caching judiciously is the single biggest performance improvement that can be made.

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

关于asp.net - ASP.NET 中的用户控件和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3454746/

相关文章:

MySQL ASP.net 连接字符串错误

c# - 如何在 ASP.NET Core 1 中使用 EF6

java - java中哈希表构造函数的性能

wpf - MVVM:绑定(bind)一个将构造函数参数传递给 UserControl 的 ViewModel

asp.net - MVC 通用 ViewModel

c# - 使用 asp.net 在 session 数据中存储用户名

css - CSS 选择器更改后性能显着下降

mysql - 以下 SQL 查询是否有效?

c# - 在 .NET 中自定义 TrackBar 控件

c# - 使用类来保存与软件消息相关的字符串