实现RESTful服务的一种非常常见的方法是使用ASP.NET MVC通过WCF实现。
ASP.NET MVC通过灵活的URL路由和灵活的HTTP方法映射到控制器操作,提供出色的RESTful支持。
WCF 4.0现在也非常支持使用与ASP.NET MVC相同的ASP.NET路由机制来实现RESTful服务。
问题 您使用这两种方法中的任何一种创建REST服务以及遇到的利弊有什么经验?
答案 0 :(得分:10)
WCF服务可以自托管。不需要IIS。 ASP.NET MVC专注于提供HTML,而现有的.net 4 WCF堆栈更侧重于XML和JSON。
新的http://wcf.codeplex.com是WCF上的下一代REST,并且比现有的堆栈功能强大得多。
新堆栈将更好地支持所有不同的媒体类型。它提供了对底层HTTP协议的更好访问。它将更加可测试,并且可以更容易地插入可重复使用的处理程序来添加标准行为。
答案 1 :(得分:2)
看看Scott Hanselminutes与Glenn Block的播客,他们讨论相同的问题并比较MVC和新的WCF Web API。 http://www.hanselminutes.com/default.aspx?showID=284
答案 2 :(得分:1)
我说WCF更适合构建服务,你可以用asp.net mvc来做,但需要更多的仪式