WCF服务,WCF RIA服务和WCF数据服务有什么区别?
答案 0 :(得分:7)
WCF通常是服务的通信基础设施。 WCF RIA服务自动生成客户端和服务器代理对象以促进应用程序开发,并依赖于WCF进行实际通信。 ADO.Net数据服务已重命名为WCF数据服务,并通过WCF提供OData服务。
答案 1 :(得分:3)
这是一篇很好的文章,解释了WCF(ADO.Net)数据服务与WCF Ria数据服务 http://jack.ukleja.com/wcf-data-services-vs-wcf-ria-services/
答案 2 :(得分:1)
这是Collin Blair的作品
http://forums.silverlight.net/t/103015.aspx/1
你的问题类似于问一个简单的汉堡肉饼和汉堡包有什么区别,这就是为什么很难得到一个直接的答案。获得一个好的答案也受到这样的事实的阻碍:RIA服务至少在PDC之前不会“功能完整”,所以你得到的任何答案都将基于期望和猜测。最后,RIA服务是复数有一个原因,RIA服务中有多个类可以做不同的事情。以下是基于路线图和我对RIA服务团队目标的理解的答案。
RIA Services是一个客户端和服务器组件库,可以连接到ADO.NET Data Services。当使用完整的RIA服务堆栈时,RIA服务和普通WCF之间的区别如下:
客户端数据对象是在编译时使用反射生成的,基于实际的服务器端对象而不是服务契约。这允许RIA Services通过包括对象之间的任何业务规则和关系来提供更丰富的客户端对象模型。但是,这确实意味着与简单的WCF相比,RIA Services提供了一些灵活性。例如,RIA Services serializaer目前不支持WCF能够处理的某些数据类型。 RIA Services,如ADO.NET Data Services,支持在客户端和服务器之间序列化LINQ查询。这意味着客户端可以创建LINQ查询并让它运行服务器端。 与普通的ADO.NET数据服务不同,RIA Services不会在运行时自动生成CRUD。对于熟悉SQL Server的人,我将ADO.NET数据服务描述为支持常规触发器(即查询拦截器),而RIA服务需要INSTEAD OF触发器。
答案 3 :(得分:1)
以下答案不是我的,但仍然回答了一些未得到答复的问题。
复制粘贴了这个答案WCF服务是以操作为中心的 - 您使用这些服务的主要方法 定义操作(函数)。数据是第二件事 办法。另一方面,他们可以在很多不同的方面工作 传输/协议。你有能力严格定义什么 客户可以也可以做不到。客户无法真正弥补新的 查询/操作,服务器必须实现客户端的一切 需要。
WCF数据服务是以数据为中心的 - 您使用这些服务的主要方法 定义要公开的数据模型。对数据的操作是 “预定义”(创建/删除/更新/读取)。它只支持HTTP 协议并使用REST。您通常允许客户决定他们是什么 想做(在某些边界)。与WCF的主要区别之一 服务是客户端可以针对数据模型发出查询 (想想客户构建的SQL之类的东西)。这意味着 服务器不需要确切知道客户端需要什么 在前面,客户端将能够告诉它运行时。
Vitek Karas [MSFT]