2009-09-06 62 views

回答

2

即使世界实际上是第三个选项,ADO.NET数据Servies。无论如何,在这里我怎么看他们。

MVC REST:使您完全控制如何公开数据,您必须编写所有代码以使其运行起来,例如,序列化,反序列化,所有CRUD方法等等。由于这是一个MVC站点,这意味着你仅限于通过HTTP通过IIS公开你的服务(012)。 frameowkr比MVC REST,即缓存,安全性,错误处理等(基本上所有的东西你必须使用纯MVC编写自己)。作为WCF,您可以通过各种方式(例如WS-,TCP)来承载此类数据。

ADO.NET数据服务:最快捷的方式启动运行并准备使用,所有您需要的待办事项是配置global.asax,但是您必须使用实体数据模型,这是很多人不想要的。个人而言,我会使用ADO.NET DATA SERVICES或WCF REST来构建API,在MVC站点中调用API,然后直接公开该API或通过将其传递到另一个层。

+0

实际上,您不必使用实体来使用ADS。 ADS可以使用Linq to SQL,甚至可以使用非关系数据源(只需要更多的工作)。 – 2009-09-07 06:32:55

1

ASP.NET MVC可以作为轻量级服务工作的REST端点,所以我猜你的问题的答案取决于你如何定义“安全”。

显然,WCF是专门为创建REST端点而设计的,它具有隐含的所有安全隐含,而ASP.NET MVC旨在创建可由ASP.NET MVC自身使用的REST端点。

下面的文章展示了如何使用ASP.NET MVC控制器创建一个Web服务:

使用ASP.NET MVC这充分说明双方JSON和纯XML创建REST API http://msmvps.com/blogs/omar/archive/2008/10/03/create-rest-api-using-asp-net-mvc-that-speaks-both-json-and-plain-xml.aspx


另请参阅Phil Haack撰写的以下文章,其中讨论了WCF团队为ASP.NET MVC用户提供的SDK:

休息ASP.NET MVC SDK和样品
http://haacked.com/archive/2009/08/17/rest-for-mvc.aspx

-1

他们是两套不同的技术,只能通过正在兴建的.NET相关

MVC是用来创建网站,并提供其中的URL路由到控制器和控制卡提供意见,以用户为模型用户界面。

WCF是.net中的一组库,用于抽象服务类型(它是否在Windows服务中托管,作为IIS中的Web服务等)以及协议(HTTP,TCP,MSMQ等等)来自正在通信的客户端和服务器。

MVC网站可能会使用WCF连接到Web服务,但这只是许多选项之一。