zoukankan      html  css  js  c++  java
  • 爱恨交加的asp.net服务器控件

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

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

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

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

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

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

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

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

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


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

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


  • 相关阅读:
    BZOJ4152: [AMPPZ2014]The Captain
    BZOJ4025: 二分图
    BZOJ1453: [Wc]Dface双面棋盘
    BZOJ3238: [Ahoi2013]差异
    BZOJ3165: [Heoi2013]Segment
    BZOJ4556: [Tjoi2016&Heoi2016]字符串
    BZOJ2668: [cqoi2012]交换棋子
    UVa-10652 包装木板
    HDU1599-Find the mincost route
    HDU-3339 IN ACTION(Dijkstra +01背包)
  • 原文地址:https://www.cnblogs.com/hjblog/p/1499056.html
Copyright © 2011-2022 走看看