RESTful服务:WCF与ASP.NET MVC

Kyr*_*ous 20 rest asp.net-mvc wcf wcf-rest

实现RESTful服务的一种非常常见的方法是使用ASP.NET MVC在WCF上执行此操作.

ASP.NET MVC通过灵活的URL路由和灵活的HTTP方法映射到控制器操作,具有出色的RESTful支持.

WCF 4.0现在对使用与ASP.NET MVC相同的ASP.NET路由机制实现RESTful服务提供了出色的支持.

问题 使用两种创建RESTful服务的方法和遇到的优缺点,您有什么经验?

Dar*_*ler 10

WCF服务可以自托管.不需要IIS.ASP.NET MVC专注于提供HTML,而现有的.net 4 WCF堆栈更侧重于XML和JSON.

新的http://wcf.codeplex.com是WCF上的下一代REST,并且比现有的堆栈功能强大得多.

新堆栈将更好地支持所有不同的媒体类型.它提供了对底层HTTP协议的更好访问.它将更加可测试,并且可以更容易地插入可重复使用的处理程序来添加标准行为.

  • 你提出了一些好处.从我所看到的目的是仅在IIS(类似于MVC)中托管WCF服务,将需要一些额外的管道代码来返回Xml ActionResult或在JSON和XML之间切换以执行相同的操作,而不是进行更改.端点通过WCF中的配置.看到ASP.NET MVC也非常可测试(类似于WCF),2之间还有其他关键的区别吗?我也会对最终选择通过WCF选择MVC路由的用户的反馈非常感兴趣. (3认同)

Bla*_*erX 1

我想说WCF更适合构建服务,你可以使用asp.net mvc来完成,但它需要更多的仪式