爱恨交加的asp.net服务器控件
2009-06-08 19:48 zhoujie 阅读(319) 评论(0) 编辑 收藏 举报服务器控件或者runat="server"的控件,给asp.net的处理提供了方便,其优点有:
1、方便动态的控制控件的属性和事件处理,使我们好像在做桌面开发
2、可以使用viewstate 来自动保持控件的值,避免在服务器往返,也就是刷新是,浏览器控件的值丢失。
除此之外,我没有看到服务器控件的优点。在局域网应用中当然无所谓。对性能要求较低的场景中也无所谓,毕竟服务器控件能提高我们的开发效率。然而,对性能要求严格的应用来说,就有点不爽了。
1、加载速度过慢,因为其中的viewstate的尺寸随着我们使用服务器控件的数量而增加
2、在访问量大的时候,对cpu和内存就是一个考验了,服务器控件从创建到销毁都在消耗着cpu时间和占用大量内存。
而相比之下,html控件就没有这种消耗。但是,html控件不能保持状态,该怎么办?
例如我们用服务器控件可以很简单的做一个注册页,并能在用户出错时,保持控件的值。而htm控件已提交值就丢失了。我们遇到过这种两难的境地,后来,直接用ajax提交的方式,干脆不让页面刷新,控件值自然就保持住了。
其实,不光是服务器控件,有很多微软提供的东西,web开发时我都不敢用了 。不就是请求和响应吗?何必搞得难么复杂?微软的东西向来不考虑性能问题,而是将易用性放在首位。而程序员却想控制一切,真是矛盾。
-------------------------黄金分割线---------------------
像我一样挑剔的coder请转到asp.net MVC吧,完全不用服务器控件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架