刚接触想用WCF做一个管理系统,问题如下:
1, 起初是想让每个实体如(客户,产品,订单,供应商,用户,角色,单位,区域...)各自写成一个service类, 但是后来想想实体太多了,每个service类都要至少写一个endpoint。 那一个系统如果有2000个实体,那么endpoint至少就要写2000个,还不要说兼容TCP和HTTP,放到一个Host,不知道这种写法是否合理?
2,每个实体都有CRUD, 除了这4个方法,某些实体又有一些单独的操作,像批量作业,事务处理。数据层用的ADO.net访问数据库,在传递批量数据的时候,一开始想用DataSet, 但是要考虑到数据量传输大的问题,要去序列化,压缩,到客户端再解压,反序列化等等。 客户端需要兼容Asp.net, WPF, Winform 这样的应用,所以通常WCF是传递什么类型的数据集,客户端会比较好处理(不同客户端绑定数据集,可能是不同的类型),且速度效率高?
3,选择WCF希望在系统扩展方面会很强, 比如:现在系统没有项目管理这个模块,想加入这样一个功能模块,那我只需要在原有的类库里加入一个service(或者其他什么方式?),写个协议接口,客户端引用协议,再写好客户端和UI逻辑代码,全部重新编译发布,再重新部署到服务器上,把功能扩展进去,主要就是想说,代码结构如何组织比较利于扩展。
暂时这三个问题,也请教一下另外还有什么比较重要的问题需要考虑到?