文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» .Net » 微软ASP.NET AJAX框架剖析(3)       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] 微软ASP.NET AJAX框架剖析(3)  ( 查看:215  回复:0 )   
 
Easy
助理工程师  点击可查看详细



帖子 365
精华 2
无忧币 1770
积分 1609
阅读权限 40
注册日期 2007-11-6
最后登录 2008-5-5 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-11-21 13:48   标题:微软ASP.NET AJAX框架剖析(3)
上一帖 |
四、使用ASP.NET AJAX框架的三种实现方案

(一)改造现有的ASP.NET 2.0应用程序

这种情况针对我们已经拥有一个具有完整功能的ASP.NET 2.0应用程序的情况,但是,由于系统性能及用户体验等各种原因需要对这种程序进行AJAX“再改造”。理由很简单:一方面,MS AJAX客户端实现方案与现有ASP.NET 2.0服务器编程模式存在显著区别;另一方面,我们也根本不可能再次重写已经相对完备的现有的程序逻辑。此时,选择使用MS AJAX服务器端实现方案对这种程序进行改造是最佳选择—几乎不费一枪一弹就可以把现有应用程序AJAX化。例如,典型的要求局部页面更新的情况,只需要我们使用MS AJAX服务器端控件UpdatePanel把这一部分加以“封装”包围即可为现有应用添加AJAX功能。

【建议】如果你的团队不擅长JavaScript,或者你希望将公开给客户端编程的信息降到最少,则可使用此方案。此外,如果你需要保护应用程序中任何敏感的业务逻辑,也建议使用此方案。

(二)从头创建‘纯’ASP.NET AJAX应用程序

对于一切从头开始创建基于ASP.NET 2.0服务器端平台的情况,则要考虑使用这种方案。即是,所有实现都使用MS AJAX客户端JavaScript编程及xml-script声明式编程来实现。尽管这种开发方案仍存在相当的难度(没有现成的优秀IDE支持,而且调试技术也基本依赖于手工,更要求开发人员具备娴熟的JavaScript编程技巧等),但却能够为系统带来全方位的性能优化。

(三)在非ASP.NET 2.0服务器端平台上开发基于ASP.NET AJAX框架的应用程序

当你需要AJAX应用程序的现代型跨浏览器版本时,可以使用MS AJAX客户端实现方案。不过,没有了MS AJAX服务端实现的支持,我们仍然可以开发出一流的AJAX应用程序。

【注意】此方案下,部分客户端数据绑定建议使用完全用AJAX JavaScript编写的两个客户端控件(分别是用于多记录视图的ListView和用于单记录视图的ItemView)以实现基于模板的数据绑定。这两个控件和客户端数据源以及筛选组件组合在一起。绑定客户端数据后,当然,最后得到的页面包括一厚层的JavaScript和/或XML Script,但没有任何托管代码(脚本管理器控件除外)。调用通过JSON数据流以独立于类型的方式移动输入参数和接收返回值。要触发多种服务端调用并将更改应用于客户端,需要强类型化JavaScript代码。当你需要使用以异步方式触发和控制远程操作的智能客户端时,建议使用此方法。此方法需要JavaScript编码来处理返回值和更新当前DOM中任何受结果影响的部分。

总之,根据以上分析,任何一种MS AJAX实现方案都不是绝对独立的,而是相辅相成。例如,在所有实现方案下,我们都要依赖于MS AJAX服务器端ScriptManager控件来负责向浏览器端发送MS AJAX客户端框架所必需的JavaScript代码等。

五、MS AJAX框架学习参考资料

◆官方站点http://ajax.asp.net上提供了较多的在线参考文档、基础编程部分的在线视频和一组重要的示例程序;
◆http://forums.asp.net,其中汇集中了来自世界各地的从早期的MS AJAX(即ATLAS)到目前最新的MS AJAX框架开发中的不少疑问及解答;
◆《MS AJAX基础教程》(【美】Laurence Moroney著,陈黎夫译,人民邮电出版社,2006年11月)。这本书虽然有相当一部分内容已经过时,但是作为国内第一本MS AJAX框架学习资料,仍具有相当的参考价值。此外,由陈黎夫自主编写的《ASP.NET AJAX程序设计》(第I卷)已经上市,还将陆续出版第Ⅱ、Ⅲ卷。
◆Scott Guthrie,Scott Guthrie 是 Microsoft 开发事业部的总经理。Scott Guthrie的中文博客为http://blog.joycode.com/scottgu/
◆陈黎夫在博客园中的博客文章(http://dflying.cnblogs.com/);
◆“老赵”的博客(http://jeffreyzhao.cnblogs.com/);
◆MSDN上的几篇文章(例如http://msdn.microsoft.com/msdnmag/issues/07/02/CuttingEdge/);
◆MS AJAX框架相应的源码文件*.js及示例文件。

六、总结

在本文中,我们仅粗略地向读者介绍了微软ASP.NET AJAX框架的大致架构及总体功能,没有深入其中,更没有给出现成的案例。在以后的文章中,我会逐渐整理出基于这个框架的实战案例供读者参考。

总的来看,MS AJAX的整体框架现在已经基本成熟,但是在许多方面还需要作进一步的改进。如果您想基于ASP.NET 2.0平台进行Web开发,不学习MS AJAX框架是没有理由的,因为这是大势所趋;因此,宜早下手为妥。



网络工程师到底该不该去考CCIE认证?
2007-11-21 13:481楼
[ 顶部 ]
     
论坛跳转:  

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号