.NET技术与Ajax技术结合的四种方式

来源:互联网 发布:linux修改root密码命令 编辑:程序博客网 时间:2024/06/08 14:32
方法一:用UpdatePanel自动处理的方式

ASP.NET AJAX的UpdatePanel控制WEB控件是否为AJAX驱动。

易用性上看:UpdatePanel来实现AJAX是非常容易执行的。只需将要异步刷新的页面领域用UpdatePanels括起来。

性能上看:UpdatePanels总是要对整个页面进行与服务器异步消息处理。大大降低了服务效率,所以使用时要尽可能的包含最少页面内容。

设计上看:通过UpdatePanel来统一管理AJAX处理可以使程序开发规范,但是单一的使用方式将固化程序的开发思想。

开发思想的特点:所有功能都依赖与服务器的UpdatePanel来控制。控制并不是用来驱动客户端逻辑,所以设计较为机械。还有以服务器为中心的处理方式将浪费大量服务器资源。其整体运行框架如下图所示。

方法二:客户端主动回调的方式

主动回调驱动完全是通过组件自身去实现页面与后台处理的逻辑。这就需要在开发组件时定制回调将引发的处理过程。最后使页面与服务内容相互协作完成,其实就是远程服务的MVP模式。

易用性上看:回调函数需要JavaScript代码来控制的客户端API以及执行服务器端事件处理程序,使内容返回到浏览器。

性能上看:通过回调控制可以实现非常小的网络流量。然而javascript是单线程语言,对每个请求都必须经过完整的页面生命周期,没有逻辑选择的余地。

设计上看:虽然开发商需要写自定义代码,这也就能让服务有更大的优化的余地。对于一个网页生命流程熟悉的程序员,将能更好的控制页面的生成。听说日本有骨灰级程序员用javascript模拟多线程回调。

开发思想的特点:这是以客户操作为中心的AJAX的做法,自主控制网络传输内容将能提高程序敏捷性。其整体运行框架如下图所示。

方法三:高级的Javascript框架、Json、.NET三者协作的方式

AJAX最早设计就是来自JavaScript,随着JavaScript函数的扩展封装,许多优秀的框架也就此产生。比如:Microsoft AJAX Library、Prototype、jQuery、Mootools、EXT等,传统的AJAX技术是传输XML内容,而这用JSON传输数据将节省网络资源。

易用性上看:调用服务器端的逻辑的实现过程需要调用专用的JSON通信函数。使用不同的框架就要承担新函数手册的熟悉过程,JSON为键值对组合方式,还需要有数据解析,从新组装为HTML页面识别的元素。不过结合MVC的HTTPHELP将能降低HTML元素组装的工作量。

性能上看:运行机制不需要通过ASP.NET页面的生命周期,其过程是可以控制的。应为JSON内容中不包含XML标记,将降低通道传输的负担。

设计上看:所用功能依赖JavaScript框架。然而现在框架局面没有统一,缺少整体统一的规范。

开发思想的特点:随着JavaScript框架的发展。要创造高水平UI元素将越来越容易。再结合MVC的设计思想可以JSON的中间内容较好的与页面融合。其整体运行框架如下图所示。

方法四:客户端控件调用Web服务

这是一种新的AJAX思想:通过执行服务器端的Web服务来实现异步功能调用。这种方式将不依赖JavaScript代码创建和操纵用户界面元素。

易用性上看:服务器事先暴露具体的Web服务,等待着客户的调用。主要工作量都在具体服务进行开发管理上。

性能上看:服务是自治的,其传输内容后台运算都是可以自定义优化的。

设计上看:利用SOA的设计思路,并利用已有成熟的WEB服务技术。程序实现层次简单,容易掌控。

开发思想的特点:这一种新的传输信息的方式,并且服务内容是透明的、服务是自治的,并且实现层次分明适合与大规模的生产。

原创粉丝点击