什么时候使用WCF数据服务?

Kot*_*tan 8 .net wcf-data-services wcf-ria-services

对于哪些应用程序或开发方案,WCF数据服务的使用是有意义的,何时其他技术是更好的选择(例如WCF RIA服务,ADO实体框架,经典ADO.NET,简单服务或其他)?

mar*_*c_s 12

WCF数据服务是一种非常简单快捷的方式,可以将您的数据模型(集合和实体)发布到Web上.您可以通过标准HTTP/REST调用轻松浏览集合,查看实体等.

只要您主要拥有 - 显示和显示实体和实体集合 - 它就能很好地工作.我真的不知道WCF RIA服务带来的额外奖励 - 没有过多调查.

WCF数据服务基于数据的模型表示 - 这是Linq-to-SQL或Entity Framework发挥作用的地方,允许您根据物理数据库创建该模型.

但是,当您需要使用类似于方法的服务时 - 比如"插入客户","计算客户的总订单"等等,那么基于SOAP的WCF服务将更适合.基于SOAP的WCF服务定义服务契约(服务上的方法集),并允许您在服务对象上调用这些方法.

SOAP在进行面向事务的业务工作时很棒 - 它是自我描述的,例如,您的客户端可以发现并询问SOAP服务(REST严重缺乏的区域 - 没有"WSDL"或类似于REST服务的东西).

如果您正在使用SOAP,我还建议您为数据使用基于模型的方法 - 创建数据库模型并将这些实体的方法暴露给外部世界 - 再次使用Linq-to-SQL,实体框架,NHibernate或其他一些建模/ ORM工具.我不建议在你的大多数工作中使用"经典"或"裸骨"ADO.NET - 它只是太多笨拙的工作和愚蠢的代码 - 让像Linq-to-SQL或EF这样的框架处理那些无聊的基础设施的东西为您而且专注于您的实际业务需求和需求.