Ajax本身面临的问题在于:
1)浏览器的兼容性:每个浏览器对XMLHttpRequest对象的实现有所不同,而且每个浏览器对DOM的实现方式也有所不同,
2)JavaScript语言的问题:大多数开发者不熟悉JavaScript,而且JavaScript本身的面向对象功能需要而且开发工具对JavaScript的智能感知和调试都还比较弱。
ASP.NET AJAX是微软对AJAX技术的解决方案,其架构如图:
1、客户端框架
ASP.NET AJAX的客户端框架的核心是Microsoft Ajax Library,这个库由一组JavaScript文件组成,这些文件与服务器的特性独立。
Ajax Library的类型系统丰富了JavaScript面向对象的概念,同时对JavaScript本身的类型提供了扩展。
Ajax Library的组件层对提供了JSON序列化、网络通信、DOM交互等功能的支持。
Ajax Library的应用层提供了事件驱动的编程模型,从而和DOM、组件等协同工作。
2、服务端框架
服务端框架的核心是ASP.NET AJAX Server Extension,它构建在ASP.NET之上。
ASP.NET AJAX Server Control主要包括两个主要控件ScriptManager和UpdatePanel。
Web Service Brige提供了客户端脚本访问第三方web服务的机制。
Application Service Brige提供了客户端脚本访问第三方应用服务的机制。
3、客户端为中心的开发模式和服务端为中心的开发模式
客户端为中心的开发模式是将处理的逻辑放在客户端,由客户端脚本来获取数据,然后由客户端脚本来更新界面,如图:
服务端为中心的开发模式是由将处理的逻辑放在服务端,界面的变化由服务器返回给客户端,如图: