在技术性升级的过程中, 依然有一些人死后怀着早已过去了气的东西没放. 也有一些人尽管进到到新的世界, 但仍解决不上老旧的习惯性. 也没有用”恶习”这个词, 由于我对这个词也十分抵触. 
新技术应用应当有新技术应用的作法, 进到ASP.NET的全球, 就应当把过去的习惯性纠正, 全新升级的进到新的世界, 把ASP的破旧丢掉.
  下列例举的全是不正确的作法, 请不要误认为是强烈推荐的作法而开展营销推广: 

  1. 应用server side include给ASPX引进相互的网页页面构图法.
在ASP.NET的体制下, 应应用ASCX(web user control)来完成. ASCX出示了大量可操纵插口. 而且更关键的是, ASCX是一个类. 一个切切实实的类. 能够 全方位操纵它. 

  2.不应用web.config
  web.config出示了比较丰富的软件配置管理插口. 是一个程序运行最关键的一部分. 可是很多人的web.config通常是空的. 或是就从来没有改动过. 

  3.应用Response.Write向前端开发輸出信息
  ASP.NET服务平台下的Response和ASP的Response有非常大的不一样. 尽管表明同一含意, 但使用方法上早已大不一样. Response.Write的內容总是輸出到页的最前端开发. 向前端开发輸出信息的恰当方式 是应用PlaceHolder. 

  4.应用一系列session管理方法客户联接情况
  这类方式 在ASP里被乱用. 在ASP.NET自然环境下, 恰当的作法应该是设计方案一个类. 结构型地储存数据信息. 将对session或是cookie的浏览封裝起來. 

  5.应用session认证真实身份
  这基本上是常见问题. ASP.NET出示了一组用以客户身份认证的API. 种类是forms认证或是windows认证. 这一点quick start有一节解读得很清晰. 能够 绝大多数人還是借助给session取值来维持客户身份认证情况. 

  6.应用Response.Redirect跳转页
  这一点在必需的情况下能够 应用. 但不能乱用. 事实上乱用跳转将造成逻辑上的比较严重错乱. 它是在以页为程序流程模块的情况下的作法. 应用front controller方式将使客户的实际操作逻辑集中化起來] 

  7.应用过多ASPX页
  ASP自然环境下的程序流程模块仅有*.asp页, ASP.NET并不是那样, 也有后端类库, ASCX这些. 应将业务流程逻辑各自集中化在不一样的模块, 而不应该一项实际操作应用一个ASPX. 大量情况下ASPX将作为ASCX或是custom control的器皿而管理方法页内逻辑. ASPX重用ASCX的另外, ASPX也作为统一的页构图法重用. 

  8.在好几个逻辑模块中间复制代码并改动相对逻辑
重用. 重用. 重用. 解决该类难题的标准不是出現一切同样或类似的全过程. 假如你用上边的方式 , 一旦出現重特大逻辑变更, 产生的結果将是毁灭性的. 

  9.担心应用DataSet. 
  很多人被DataSet吓傻了. 觉得”毫无疑问”危害特性. 但连最开始的试着都害怕. 她们总觉得她们的商品一定重特大, 设计方案上应当”谨慎”. 她们通常应用ArrayList或是设计方案低等的类来储存结合数据信息. 开展艰辛的数据信息倒进工作中. 

  10.对“特性”过多留意.
  对ASP.NET ViewState的体制尤其不满意. 或是一直煞费苦心残害别人. 反而把自己弄得挺累. 假如在应对ViewState的另外多留意少连几回数据库查询或许更文明行为些. 

  11.程序运行网站根目录太乱.
  ASP.NET是开发设计新项目. 并不是网址. 应当把不一样的資源归类置放. 比如把全部静态数据資源(css样式表, 脚本制作, 图象)机构到一起. 乃至能够 写一组API来管理方法她们. ASPX应当放到一起. ASCX应当放到一起. .*.cs呢? 应当把她们放进此外一个project里. 

  12.不辞劳苦的写访问数据库查询的全过程
应当把这工作中交到DataAccess Application Block. 你自己也要电源开关connection, 何必呢. 

  13.自身写的东西最可以信赖. 
  客观事实通常恰好反过来. 多留意应用别人写好的商品. 又免收你钱, 何必那麼要面子呢. 

  14. 随意取名ASPX文件夹名称
  它是令人痛楚的了. ASPX文件夹名称不但必须非常容易鉴别. 还应当遵照一定标准. 由于behind每一个ASPX都是会有一个同名的的类, 想像一下, 多不舒服. 此外绝大多数人不清楚控制自己的新项目的name space. 令人仿佛见到一本帐一样. 

  15.从不作承继或继承
  一些具备同样个人行为的类, 应当从公共性的基类继承出去. 现实意义上, 大家的ASPX应当有一个基类PageBase. 由于总有一些公共性的特点必须抽象性出去. 

  16.零property
  她们的类(ASPX所相匹配)里仅有private method. 不公布自身的一切密秘. 能够 这一定是JAVA的遗老几件事. 

  17. 零ASCX
  别说, 他还没有学好ASP.NET 

  18.应用DreamWeaver“画“ASPX
  这批人是美工设计. 乃至有一些人到十分沉醉地探讨怎样能够更好地“融合“ DreamWeaver和Visual Studio. 

  19.只了解System.Web.UI.WebControl和System.Data.SqlClient应当还有一些非常值得了解的类库. 

  20.零注解
  这种全是内心很搞清楚的快手视频. 一任IDE转化成的默认设置注解横在那里无论. 

  21.零恶性事件
  对“量化策略“一无所知. 只了解在Page_Load()里写全过程. 或是双击鼠标一个按键写Xxx_Clock()全过程. 在她们的程序流程里看不见event和delegate. 

  之上是想起哪提到哪, 大伙儿假如遇上给你深恶痛疾的事, 还可以填补.我一直以为, 工作中是为人最立即的体现. 对程序猿而言, 编码便是最真正的内心真实写照.只是是本人观点.