到江西微软技术中心已经有三个多月了。在这个三个多月中,我很荣幸地参与了中心的项目,在自己摸索和中心同事的帮助下,我学到了非常多的东西。Web应用开发,我以前单纯的认为只是做网站,应该是一个比较容易的事情,真正的程序员就应该做WinForm程序,所以自己做的东西也是基于这一方面的。到这儿来后,我恍然大悟,我的观点是错误的,且且相反,现在的许多应用都是基于B/S结构的,尤其是伴随着Ajax等新技术的不断涌现,基于Web的应用将越来越普及。
刚到公司不久,中心同事朱成果把我引入Ajax的神奇世界。基于.Net的A jax叫做”Atlas”,而本周当我访问其官方站点时,我惊讶的发现,“Atlas”已经被更名为“Ajax.Net”,从中也可以看出Microsoft对Ajax的重视程度,也许MS认为更名更能彰显其霸气吧。新技术发展之快不得不让人惊叹,正如Ajax.Net官网上所说:From “Atlas” to ASP.NET AJAX — the journey so far…
本周我主要做的工作就是在自己的一个项目上应用Ajax技术实现页面的局部刷新。不得不感叹:Ajax技术何其让人兴奋,何其让人愁啊!兴奋的是通过它可以实现富窗客户端(R ich Client), 让用户能有很好的的用户体验,愁的是如果不靠第三方组件实现起来非常困难、费事,有的组件如 AjaxPro.dll,Ajax.Net 又不是很稳定,可能是因为还是测试版的缘故,有不少的 Bug 。本周我还发现了在 .Net 中其实有自己实现 Ajax 的方法, 不过实现起来非常让人难以理解。其基本思想是页面里面要实现 System.Web.UI.ICallbackEventHandler 接口的两个方法 GetCallbackResult 和 RaiseCallbackEvent 。其中 GetCallbackResult 返回以控件为目标的回调事件的结果,而 RaiseCallbackEvent 处理以控件为目标的回调事件,其底层还是基于 XMLHttpRequst 的。