ExtJS调用WCF系列
ExtJS调用的服务器端目前有三种实现方式:
一种是网页的方式,他的Content-Type:是application/x-www-form-urlencoded,这种方式适用范围比较广泛,只要是能输出网页的服务器端环境都可以。ExtJS官方网站上的例子基本上都是这种形式,服务器端的环境是PHP,http://cmsoft.cnblogs.com/ 是实现这种方式的.net版本,不过让我这样来写dotNet代码我可不愿意。
一种是WebService的方式,也就是通过XML在服务器和客户端传递数据的方式,在DotNet下这种实现方式比较复杂,也比较搞笑,原因是在服务器序列化的xml要在客户端用Asp.Net Ajax才可以反序列化,然后才能被ExtJS调用,我既然用了ExtJS框架,还得再用ASP.Net AJAX框架,实在不爽!
还有一种是WCF的形式,他的Content-Type是 application/json,其原理是基于JSON来在服务器端和客户端传递数据,我们必须得定义服务器端方法的输入,输出参数为JSON形式才可以,其次还得进行URL重写等(其实就是加个attribute),我觉得还是这种方式实现起来比较顺眼。
在google找到了这两篇文章http://www.hausertechnologies.com/wordpress/?p=33 和http://www.hausertechnologies.com/wordpress/?p=35 并经过我的琢磨,就琢磨出一些心得体会来,不敢独享,所以贴出来让园子里喜欢EXTJS和dotNet的朋友也一起体会体会。
我分为三节来讲述EXTJS调用WCF的系列,每节都有详细的步骤说明和截图,而且还提供源码,要是还有人不明白,就回家看看自己的耳朵和鼻子是不是都很大?开发环境是Visual Studio 2008 英文RTM版 和 EXTJS 2.0 后面没有RC的那个版本,也就是目前最新版