我计划编写主要在客户端(AJAX)工作的Web应用程序,并使用JSON与服务器进行REST通信,并使用另一个将使用XML(或最终使用JSON)的客户端。这个应用程序将具有客户端身份验证,但相当简单和小。
这个RESTful Web服务哪个更好的选择:WCF还是ASP.NET MVC?
答案 0 :(得分:5)
此时,如果您现在开始一个项目,我将沿着WCF WebAPI路线前进。 MVC提供了构建REST API的基本基础结构,但没有内容类型协商等内置支持。
WebAPI旨在为.NET框架的REST样式服务提供一流的支持
然而,Web API尚未发布(虽然我很确定它会在今年发布)所以你将开发beta代码 - 哦,它也可以在Nuget上发布
btw - CHM文件中有一些很好的东西可以帮助你入门
答案 1 :(得分:3)
正确答案可能是:这取决于。
如果你已经熟悉其中一种技术,那么也许你应该使用那种技术,但我宁愿使用ASP.NET MVC。
我现在要提到Omar Al Zabir
的两篇文章如果您想沿着ASP.NET MVC路线前进,请阅读:http://www.codeproject.com/Articles/233572/Build-truly-RESTful-API-and-website-using-same-ASP
如果您打算使用WCF,请阅读有关提高可扩展性的信息:http://www.codeproject.com/Articles/234085/Fixing-WCF-to-build-highly-scalable-async-REST-API
使用MVC的一个很酷的事情是,您可以使用相同的代码编写RESTful应用程序和公开RESTful API。
编辑:为了澄清一下,MVC RESTful项目支持GET,PUT,POST,DELETE,所以它确实是RESTful。请参阅此处的文档:http://code.msdn.microsoft.com/Build-truly-RESTful-API-194a6253
特别是这一点:
所有这些URL都支持GET,POST,PUT,DELETE。用户可以浏览 这些URL和获取html页面呈现。客户端应用程序可以进行AJAX调用 这些URL对这些URL执行CRUD。从而使真正的RESTful API和网站。