导言
在过去的几年时间里,web开发员开始使用JavaScript来向web服务器执行异步回传,也就是仅仅发送和接收必要的数据.这些技术通常统称为AJAX.如果设计 合理的话,具有AJAX功能的web应用程序,其用户界面的高度交互性完全可以与桌面应用程序相媲美.
由于AJAX包含了网络体系(networking stack)里不同层面的很多 技术,在不使用AJAX framework的情况下执行AJAX很困难也很容易出错.还好,微软为ASP.NET开发者推出了免费的AJAX framework:即Microsoft ASP.NET AJAX.本文作为本 系列文章的开篇之作,首先总览AJAX技术以及如何开始使用Microsoft ASP.NET AJAX;然后再探讨具体的控件以及使用细节.
Ajax历史简短回顾
client- server模式包括了双方:一个客户端和一个服务器.服务器端等待来自客户端的请求,进行相关处理后再做出回应;客户端向服务器发出请求,等待回应,最后对返回的数据 进行处理.Web应用程序便是client-server模式的典型代表.在客户端——通常情况是一个web浏览器,向web服务器请求一个特定的资源,该资源可能是静态内容 ,比如一个HTML页面或一个图片,此时服务器仅仅需要将其返回即可;也可能是动态内容,比如一个ASP.NET页面,此时服务器需要做一些处理后才能将其返回.然而不管怎 么说,交互模式都是一样的:客服端请求一个具体的资源,服务器端将其返回给客户端.
client-server模式的一个缺点便是延迟性。客户端必须周期性的与服务器进 行通信,更新用户输入信息或获取最新的数据.在这个过程中,用户必须等待,而白白浪费掉请求/回应生命周期时间.在ASP.NET应用程序里,当发生回传时这种延迟表现的 最为明显.设想一下在一个电子商务网站里,列出了一系列的产品,且可以进行分类,并分页显示出来.然而,当切换到下一页面时,将需要对服务器产生一个回传,以获取 下一页面的产品.自然,这将产生一个延迟,从一秒到几秒不定,这取决于多种因素(比如网络连接速度、网络拥堵情况、服务器加载情况、数据库查询情况等等).
最 主要的缺点是页面回传需要将所有的页面form字段发送到服务器,再将整个页面内容返回给浏览器.这样一来,交互的数据量就过多了,因为我们只需要下一页面的产品的信 息.AJAX可以减小这种延迟性,方法是使用JavaScript向web服务器作出异步回传.这些回传传输并接收最少量的必需的数据.对AJAX背景知识的更多介绍,请参阅Jesse James Garrett的随笔《Ajax: A New Approach to Web Applications》,在这篇文章里他创造了术语"Ajax".
很多AJAX frameworks是商业性的,当然也有一些 开源类库(open source libraries).在2006的上半年,微软发布了自己的AJAX framework,也即:Microsoft ASP.NET AJAX,本系列文章的焦点.