none
WCF 代码结构规划 RRS feed

  • 问题

  • 刚接触想用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逻辑代码,全部重新编译发布,再重新部署到服务器上,把功能扩展进去,主要就是想说,代码结构如何组织比较利于扩展。

    暂时这三个问题,也请教一下另外还有什么比较重要的问题需要考虑到?

    2011年6月29日 7:02

全部回复

  • 使用WCF,并不是说系统所有的功能都包装一层WCF服务。

    你先考虑使用WCF的必要性啊。

    真的每个实体都要包装为数据契约吗?

     


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2011年6月29日 15:34
    版主
  • 对,我想用WCF实现系统的全部功能,这样会使得一个复杂的系统工程变的简单,清晰,有较强的灵活性和扩展性。分公司,代理商,门店各种应用都用WCF实现。
    我想知道当契约很多时候,怎么去合理规划代码结构?

    比如:某某A分公司告诉我需要一个日报系统,会用到总部的资源,那这时总部只需开放查询接口给分公司就行了,由该分公司的IT开发人员完成客户端应用开发,总部就不操那个心了,
    也不需要大动干戈,只需走一个简单的内部流程就搞定;某某B代理商需要一个报价系统,那IT部只需走个流程,调用接口快速开发。可能过几个月这个系统就过时了,因为代理商发展壮大了,有新要求提出来,而原有的客户端应用无法满足需求,这时候又可以调用不同的接口开发客户端,当然这些需求都是很少且很专注于某一个或几点的,

    一个集成的大系统,功能都是统一的,而实际上各个分公司和代理商,门店都可能有不同的应用,无法满足差异化需求,而且每个点用到的功能还很少,所以我想用WCF解决上面的问题,可行?

    2011年7月6日 2:24