net中的RESTful服务-WCF和ASP.net MVC哪个更好?

net中的RESTful服务-WCF和ASP.net MVC哪个更好?,.net,asp.net-mvc,wcf,rest,wcf-web-api,.net,Asp.net Mvc,Wcf,Rest,Wcf Web Api,我计划编写一个web应用程序,它将主要在客户端(AJAX)上工作,并使用JSON与服务器进行RESTfull通信,还有一个客户端将使用XML(或最终使用JSON)。此应用程序将具有客户端身份验证,但相当简单和小 对于这个RESTfully web服务,WCF和ASP.NETMVC哪个更好 正确的答案可能是:视情况而定 如果您已经熟悉其中一种技术,那么也许您应该使用该技术,但我更愿意使用ASP.NET MVC 我现在要提两篇文章 如果您想继续ASP.NET MVC路线,请阅读以下内容: 如果要使用

我计划编写一个web应用程序,它将主要在客户端(AJAX)上工作,并使用JSON与服务器进行RESTfull通信,还有一个客户端将使用XML(或最终使用JSON)。此应用程序将具有客户端身份验证,但相当简单和小


对于这个RESTfully web服务,WCF和ASP.NETMVC哪个更好

正确的答案可能是:视情况而定

如果您已经熟悉其中一种技术,那么也许您应该使用该技术,但我更愿意使用ASP.NET MVC

我现在要提两篇文章

如果您想继续ASP.NET MVC路线,请阅读以下内容:

如果要使用WCF,请阅读以下关于提高可伸缩性的内容:

使用MVC最酷的地方在于,您可以使用相同的代码编写RESTful应用程序并公开RESTful API

编辑:只是澄清一下,MVC RESTful项目确实支持GET、PUT、POST、DELETE,因此它确实是真正的RESTful。请参阅此处的文档:

具体来说,这一点:

所有这些URL都支持GET、POST、PUT和DELETE。用户可以浏览到 这些URL并获取呈现的html页面。客户端应用程序可以进行AJAX调用 对这些URL执行CRUD。从而使一个真正的宁静 API和网站


在这一点上,如果你现在开始一个项目,我会沿着这条路线走下去。MVC提供了构建RESTAPI的基本基础设施,但没有内置对内容类型协商之类的支持

WebAPI旨在为.NET framework的REST样式服务提供一流的支持

然而,Web API还没有发布(尽管我很确定今年会发布),所以您将在测试版代码上进行开发-哦,它也可以在Nuget上使用


顺便说一句-CHM文件中有一些好东西可以让您开始

这种内容类型协商对PUT操作有用吗?如果没有,WCF WebAPI还能提供什么ASP.NET MVC所不能提供的?您可以使用MVC完成完整的获取、放置、发布和删除。对于大多数应用程序,我不确定WCF WebAPI在MVC上提供了什么(如果MVC是按照Omar Al-Zabir的项目所示进行的)。@Dommer-我知道MVC当然可以处理GET、PUT、POST和DELETE。我只是说,在这个答案中提到的内容类型协商作为好处并没有那么重要,因为它可能(如果我没有错的话)只对GET有用。在我的例子中,我希望在GET和PUT中同时支持JSON和XML,我也看不到WCF内容类型协商的好处(当然,我可能只是需要教育)。在CodeProject文章中,我链接了返回类型,它是根据请求的类型计算出来的。有一个示例,您可以将XML或JSON发送到同一URL,它将自动响应XML或JSON。看起来不错!内容类型协商对于GET很重要,但也可以用于其他人(例如,我必须向您发送XML,但通常我更喜欢不同的内容类型,比如JQuery客户机)。然而,内容类型协商是WebAPI支持的REST风格习惯用法的一个例子,您必须使用MVC手动滚动:JSONP和OData支持也是现成的,您必须使用MVC手动滚动。我当然不是说你可以;t使用MVC构建RESTful API-为什么不使用专门为该工作设计的工具呢?我已经阅读了MVC文章,谢谢链接。但是,它使用MVC2。这在MVC3中是真实的吗?