为什么要使用ASP.NET MVC 2进行REST服务?为什么不是WCF?

所以我看到MVC 2现在支持[HttpPut]和[HttpDelete]以及[HttpGet]和[HttpPost],使得它可以使用完整的RESTful Web服务。

我一直在使用REST工具包WCF一段时间,发现它相当强大,但我有兴趣了解使用MVC 2方法的优势(如果有的话)。

欢迎链接,战争故事,甚至纯粹的听说。

解决方法

我很确定ASP.NET MVC从一开始就支持所有的HTTP动词。至少 HttpVerb Enumeration从一开始就有了他们。 V2中唯一的新特性就是它们是属性
// V1
[AcceptVerbs( HttpVerbs.Delete )]

// V2
[HttpDelete]

六分之一,另外六打。关于是否要通过WCF或ASP.NET MVC公开功能,您将如何看待应用程序。

>如果您认为它是一个厚实的客户端应用程序,恰好恰好是用JavaScript编写的,并为数据提供休息的服务(然后将其格式化为客户端),那么WCF将会感觉到一个更正确的解决方案(即使可以这样做)使用)。
>但是,如果您将应用程序视为以某种形式或其他形式返回内容的服务器应用程序进行消费,那么对于您的操作使用RESTful API将更有意义。您的操作将返回将在浏览器中显示的完全格式化的内容,而无需进一步处理。您可以从Web服务返回格式化的内容(HTML或其他),但会以某种方式感到错误

至少这种区分在我的脑袋里是有意义的。你可能也对Phil Haack在How a Method Becomes an Action的帖子感兴趣。

现在有另一个选择,Web API. ScottGu在他的博客中有一个简短的介绍,有一个有趣的博客讨论使用Web API与控制器here创建API。

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...