•视图状态权重:用于维护请求之间状态的特定机制
(称为视图状态)导致在
消费者和服务器之间传输大量知识。即使在适度的
Web应用程序中,此信息也可能达到千千字节,并且每次请求都来回
传递,从而导致响应时间变慢,并增加了服务器对信息度量的要求。
•页面生命周期:作为页面生命周期的一部分,用于将客户端事件与服务器端
事件处理程序代码相连接的机制可能很困难且微妙。
很少有开发人员在运行时成功地操纵管理层次结构,而没有
创建读取状态错误或发现某些事件处理程序神秘地未
执行。
•关注点分离:ASP.NET net Forms的代码隐藏模型
提供了一种方法,该方法要求应用程序代码脱离其超文本标记语言标记,并进入
单独的代码隐藏类别。这样做是为了分离逻辑和表示,但是
实际上,开发人员受到启发,将表示代码(例如,
操作服务器端管理树)与他们的应用程序逻辑(例如,
处理信息数据)组合在相同的可怕代码中-落后类别。最终
结果很可能是脆弱且难以理解的。
•限制对超文本标记语言的管理:服务器控件将自身呈现为HTML,但
不一定是您所需的标记语言。在早期版本的ASP.NET中,超文本标记语言输出
无法满足网络标准或继续使用层叠时尚表(CSS),并且
服务器控件生成了不可预测且复杂的ID属性,这些属性耗尽
了访问受害JavaScript的能力。这些问题在最近的net Forms
版本中得到了改善,但是仍然很难引入您期望的标记语言。
•抽象:net Forms在可行的情况下尝试覆盖标记语言和超文本传输协议。在
尝试实现自定义行为时,您经常会陷入抽象的境地,
这迫使您对后发事件机制进行反向工程或执行
钝化动作以创建所需的标记语言。
•低测试能力:net Forms的设计人员无法预料到
自动化测试将成为软件包开发的重要组成部分。
他们设计的紧密耦合设计不适合单元测试。
集成测试也可能是一个挑战
来发评论吧~