ado.net数据服务优于WCF服务的优点/缺点

时间:2009-06-05 09:52:23

标签: wcf wcf-data-services

对我来说,我有一个WCF服务,它充当DAL并执行所有CRUD操作

我刚刚了解了新的ADO.Net数据服务,只是阅读了一些但实际上并不确定何时&在哪里使用它?

只是为了添加更多,我的新项目是在ASP.Net MVC中,所以使用ADO.NET数据服务而不是WCF服务是否明智,它可能会像MVC的“M”(模型)一样? ??

3 个答案:

答案 0 :(得分:3)

首先,我的建议是编写MVC代码,使其不知道后端数据模型是什么。从一开始就抽象出任何依赖关系。

至于决定是否使用WCF,我建议您决定是否要重用您编写的数据组件。如果您计划在Silverlight,WPF或任何其他格式中使用数据代码,那么我建议坚持使用WCF。

此外,请记住,您始终可以使用WCF组件简单地包装ADO.NET数据服务,并仍然启用重用方案。充分利用这两个世界!

答案 1 :(得分:1)

一个很大的优势是,使用ADO.NET数据服务,您不必像使用WCF那样专门编写基本CRUD操作的所有服务。由于ADO.NET数据服务基本上暴露了这些操作,因此您可以将更多的代码编写和调试集中在业务逻辑上。

答案 2 :(得分:0)

WCF数据服务和IMO的最大优势在于您的服务层仅用于CRUD。你没有(也不需要)任何业务逻辑。

正如Tad所指出的,重用是一个优势,但另一方面,WCF数据服务将为您的Web应用程序或任何消费者提供一种非常灵活的查询数据的方式。使用WCF,您必须编写代码以向消费者提供OData提供的相同查询灵活性。

我最近有过一次经历。我使用WCF创建了一个服务层,在许多情况下,服务操作仅用于调用存储库。没有任何规则,只有查询逻辑。消费者能够通过一个标准来获得结果。

需求发生了变化,我们意识到我们可以通过使用WCF数据服务使其更简单(维护代码更少)。