.NET技术与Ajax技术结合的四种方式
来源:互联网 发布:linux修改root密码命令 编辑:程序博客网 时间:2024/06/08 14:32
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服务技术。程序实现层次简单,容易掌控。
开发思想的特点:这一种新的传输信息的方式,并且服务内容是透明的、服务是自治的,并且实现层次分明适合与大规模的生产。
- .NET技术与Ajax技术结合的四种方式
- ASP.NET技术结合AJAX开发的项目管理系统
- 技术与市场的结合
- 技术与艺术的结合
- 商业与技术的结合
- 结合AJAX技术的用户注册
- 关于ajax和submit的技术结合
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- 传统的ASP.NET网页与AJAX技术
- Jquery AJAX与.NET结合的例子
- ASP.NET四种页面导航方式之比较与选择(本文源自于"心灵技术"博客)
- 论技术与创意的结合
- Java加密技术与Windows的结合
- 探讨技术与管理的结合
- DLNA 技术与工作的结合
- 计算机辅助设计与制造技术的结合
- 抓住技术与生活的结合
- Android背后的恶意应用,您应该知道的事
- Tomcat、JAVA、Iframe、P3P跨域
- MS SQL数据导入MySQL
- AT编程常见问题
- 你的赋值操作符能正确地将对象赋给对象本身吗?
- .NET技术与Ajax技术结合的四种方式
- 累
- JOGL in Eclipse
- jquery ajax表单提交插件
- Linux启动或禁止SSH用户及IP的登录
- Loadrunner网络延迟
- 自己编写的Objective-c的singleton单例实例
- 关于条件变量的一点理解
- 恢复Notes数据库隐藏设计