日期:2014-05-17  浏览次数:21097 次

WCF,到底有哪些地方用得上
最近在学WCF,网上该查的资料都查了,都看过了,感觉还是很难懂。
我是搞WPF的,我想问一下,对于我来说,到底哪些场景会用得上WCF呢?是连接数据库吗?是不是用了WCF,远程数据库地址就不会被网络监听器监听出来呢?

------解决方案--------------------
通常在软件中,服务器端的功能会有专门的人负责开发设计。比如说淘宝api或者别的什么api,面向上万家合作软件开发商(包括个人),为他们服务,同时也是保证自己的产品真正强大的最重要手段。可是它并不怎么做前端开发,顶多也就是做几个“介绍”网页。

远程api服务当然要随着前端需求的变化而变化,当然其信令要数量越少越好、功能越丰富越好。但是无论如何对于这上千个前端软件的开发者提供的服务,并不是简单地丢出几千台服务器、几万个数据库实例的连接地址给前端开发商(让它们随便删除数据),而是暴露出几百个api功能让其访问。

说它避免“数据库只被监听出来”那只是为了通速地给外行提供一点感性认识,并不是主要目标。主要目标还是为了以“业务接口”的形式来提供服务,而不是低级的什么数据库方式。

如果只是在自己单机上、在入门书上抄写过一些小程序,如果还处在“做个几千块钱的简单的进销存或者OA就能卖给国营企业赚取几十万利润”的阶段,而没有在运营起来的服务器系统上为成百上千不同客户端应用、或者为几十万上百万的用户访问而工作过,就可能没有这个设计服务器系统的需求。
------解决方案--------------------
比如说你是一个大型的生鲜食品配货商,你可以做到全中国大部分城市快速配货(采购+快递+送货上门),假设说你的服务器可以自动服务于几万个软件加盟商的销售系统、甚至功能直接服务于其冷冻柜的传感器,你会把数据库暴露出来让人家随便编写程序来“增删改查”吗?这显然不行。

可见站在服务的角度进行SOA研发的人,就好像是漂亮宏伟的建筑,而那些只觉得产品数据服务就是“增删改查”的人就好像是一块土坷垃。在人家服务端处理数据时确实会有增删改查(可以找到土坷垃),但是站在业务服务的角度去设计一个平台,而系统的内部业务的处理流程的改进、服务效率的提高等等都隐藏在平台下,这是人家的目标。
------解决方案--------------------
主要是作数据交互用的,通讯方式有多种,适用性强,但也因此有些臃肿
WCF跟数据库没有直接关系,数据怎么来的取决于业务
网络监听器监听到数据库IP,比如说?