繁体   English   中英

通过避免使用asp.net组件并仅使用html组件来提高Web应用程序的性能

[英]improving performance of the web application by avoiding asp.net components and using only html components

我听说html组件比asp.net组件轻巧,因此通过避免使用asp:button之类的asp.net组件而仅使用html组件,可以提高Web应用程序的性能?

asp.net组件的使用还会增加服务器负载吗? 当事件发生时(例如单击asp.net按钮),整个视图状态将发送到服务器并接收回来吗? 因此这将导致大量数据来回传输?

如果我使用html按钮和ajax调用而不是asp.net元素发送/接收数据,这些将不会发生,因此性能将得到优化。 我的理解正确吗? 请提供您的看法

如果您使用html元素而不是asp.net元素,则确实可以减小ViewState的大小,但是我不确定这会优化您的Web应用程序,因为您将不得不编写额外的代码来处理来自HTML的输入元素。 您将不得不编写更复杂的代码,并且此代码将增加应用程序性能的一些开销。

在每种情况下(例如Button_Click ),整个ViewState都将发送到Web服务器。 具有较大的ViewState将使您的应用程序变慢和沉重。

使用ajax调用是一种很好的方法,因为这样您可以发出小的请求来执行一个操作,因此这些请求通常是轻量的。 同样,使用ajax调用也可以提供更丰富的用户体验。

我的总体看法是:

  • 不要使用纯HTML元素而不是ASP.NET元素。 您可以在后面的代码中不使用html元素的情况下使用html元素(这样它们就不会包含在ViewState中)。
  • 如果不需要,可以在应用程序的用户控件中禁用ViewState。 这样,使用ASP.NET元素不会增加您的ViewState。
  • 开始在系统中使用缓存。 您可以使用Output指令来缓存.aspx页或.ascx控件,也可以使用ASP.NET缓存机制( HttpContext.Current.Cache )并将对象放在那里。 这样,您可以减少数据库中的调用次数。
  • 尽可能使用ajax代替完整的回发。 首选使用jQuery来进行使用UpdatePanels的ajax调用,因为它们会进行完整的回发,因此它们的重量并不轻。

我还建议学习ViewState的工作原理,以便您找到减小其尺寸的方法。

我刚刚发现在一般性讨论ASP.NET性能的链接中,您可能会发现它很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM