ASP.NET Web Forms Today

1. ASP.NET Web Forms模型

ASP.NET Web Forms有三大支柱:page postbacks, view state, server controls. 如下面的模型所示:

 

1.1 Page Postbacks

ASP.NET的页(page)是基于单个的表单(form),表单含有所有的输入控件。每一次与Web服务器的交互都意味着一次表单提交。表单提交将当前表单的所有内容发送给一个服务器URL地址(默认为当前页面的URL地址)。这一将表单内容提交给服务器URL地址的过程被称为表单提交。

1.2 View State

View State是一个字典存储容器,ASP.NET使用View State来持久化控件状态,使得在连续postback时保持页面状态,因此,它是ASP.NET在无状态HTTP协议上进行状态管理的基础。

1.3 服务端控件

服务端控件是ASP.NET Web Forms的核心,它实现postback事件,并且负责HTML代码的产生。

2. Web Forms模型的弱点

       2.1 AJAX的出现

       Web Forms设计的初衷是为了让程序员独立于HTML,而AJAX的出现又要求程序员对HTML代码获得更多的控制。所以说AJAX的出现动摇了Web Forms的整体架构。

       2.2 呈现与处理相分离

       ASP.NET被设计成面向UI的,页面负责完成从接受请求到产生HTML代码中的所有过程,因此将呈现和业务逻辑耦合在一起,违背了设计模式的准则。而且随着应用复杂度的提高,就迫切需要对系统做单元测试,然而将呈现和业务逻辑耦合在一起的设计并不利于进行单元测试。

       2.3 轻量级页面

       基于view state实现状态管理,额外增加了返回给客户HTML代码的长度,而这些增加的代码却并不是客户访问页面所需要的,而且随着更多客户端交互需求的出现,view state也不再重要,从而又一次动摇了Web Forms的架构。

3 Web Forms模型的发展

       今天的Web Forms架构已经显现出这么多的弱点,因此,Web架构正在向两个方向发展:一是继续在Web Forms架构上增添更多的特性;二是开发出新的框架以适应当今的Web需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值