代码改变世界

爱恨交加的asp.net服务器控件

  zhoujie  阅读(319)  评论(0编辑  收藏  举报

服务器控件或者runat="server"的控件,给asp.net的处理提供了方便,其优点有:

1、方便动态的控制控件的属性和事件处理,使我们好像在做桌面开发

2、可以使用viewstate 来自动保持控件的值,避免在服务器往返,也就是刷新是,浏览器控件的值丢失。

除此之外,我没有看到服务器控件的优点。在局域网应用中当然无所谓。对性能要求较低的场景中也无所谓,毕竟服务器控件能提高我们的开发效率。然而,对性能要求严格的应用来说,就有点不爽了。

1、加载速度过慢,因为其中的viewstate的尺寸随着我们使用服务器控件的数量而增加

2、在访问量大的时候,对cpu和内存就是一个考验了,服务器控件从创建到销毁都在消耗着cpu时间和占用大量内存。

而相比之下,html控件就没有这种消耗。但是,html控件不能保持状态,该怎么办?

例如我们用服务器控件可以很简单的做一个注册页,并能在用户出错时,保持控件的值。而htm控件已提交值就丢失了。我们遇到过这种两难的境地,后来,直接用ajax提交的方式,干脆不让页面刷新,控件值自然就保持住了。

其实,不光是服务器控件,有很多微软提供的东西,web开发时我都不敢用了 。不就是请求和响应吗?何必搞得难么复杂?微软的东西向来不考虑性能问题,而是将易用性放在首位。而程序员却想控制一切,真是矛盾。


-------------------------黄金分割线---------------------

像我一样挑剔的coder请转到asp.net MVC吧,完全不用服务器控件。


 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示