昨天花了一天的时间尝试了.net framework3.5的特性!用LinQ写数据访问层的代码,感觉很清爽,而且也非常灵活!WCF就比较有点“重量级”了,呵呵,昨晚闹了一个晚上,竟是一个返回类型不支持,弄了一整晚!至于ExtJs,这个可是这次尝试的导火线啊,本来想用3.5的一个JSON序列化类来转换与ExtJs交换数据,于是用到小庄的WCF和ExtJS系列,于是就用WCf中的特性来返回JSON格式数据!顺便了解一下WCF,^_^!
感觉WCF给分布式开发带来的方便不是一般的,效率好像也还不错(编译好第1+n次的访问速度总是比第n次快【本机上】),
然后用LinQ写了个简单的DataAccessLayer,先是定义接口,我们叫它做契约!它加了WCF的特性,继承自它的服务会自动继承其特性,数据库用Northwind
 1LinQ,WCF,ExtJs之”初吻“using System;
 2LinQ,WCF,ExtJs之”初吻“using System.Collections.Generic;
 3LinQ,WCF,ExtJs之”初吻“using System.Linq;
 4LinQ,WCF,ExtJs之”初吻“using System.Text;
 5LinQ,WCF,ExtJs之”初吻“using ExtjsNorthwind.Model;
 6LinQ,WCF,ExtJs之”初吻“using System.ServiceModel;
 7LinQ,WCF,ExtJs之”初吻“using System.ServiceModel.Web;
 8LinQ,WCF,ExtJs之”初吻“namespace ExtjsNorthwind.ServiceContract
 9}

接下来实现这个契约
LinQ,WCF,ExtJs之”初吻“using System;
LinQ,WCF,ExtJs之”初吻“
using System.Linq;
LinQ,WCF,ExtJs之”初吻“
using System.Collections.Generic;
LinQ,WCF,ExtJs之”初吻“
using System.Runtime.Serialization;
LinQ,WCF,ExtJs之”初吻“
using System.ServiceModel;
LinQ,WCF,ExtJs之”初吻“
using System.ServiceModel.Activation;
LinQ,WCF,ExtJs之”初吻“
using System.ServiceModel.Web;
LinQ,WCF,ExtJs之”初吻“
using ExtjsNorthwind.Model;
LinQ,WCF,ExtJs之”初吻“
LinQ,WCF,ExtJs之”初吻“
namespace ExtjsNorthwind.ServiceContract
}
注意这里返回类型不能为IList<>类型!否则会出错,不能序列化!
此外测试了一个简单的一对多的序列化
写了一个Student类代码很简单,就不贴了,其中有一个List<Product>类型得ProductList属性,返回这个学生买的产品资料!加上[DataMember]特性!OK:代码下载

相关文章: