RESTful services: WCF versus ASP.NET MVC

2019-03-24 01:17发布

问题:

A very common approach to implementing RESTful services is by utilizing ASP.NET MVC to do so over WCF.

ASP.NET MVC has excellent RESTful support by via flexible URL routing and flexible HTTP Method mapping to controller actions.

WCF 4.0 now has excellent support for implementing RESTful service also using the same ASP.NET routing mechanism as ASP.NET MVC.

Question What are your experiences working with either of the 2 approaches to create RESTful services and pros and cons encountered?

回答1:

WCF services can be self-hosted. No IIS required. ASP.NET MVC is focused on delivering HTML, whereas the existing .net 4 WCF stack is focused more on XML and JSON.

The new http://wcf.codeplex.com is the next generation of REST on WCF and will be significantly more capable than the existing stack.

The new stack will be much better at supporting all different media types. It provides much better access to the underlying HTTP protocol. It will be much more testable and will make it easier to plug in reusable handlers to add standard behaviours.



回答2:

Take a look at Podcast from Scott Hanselminutes with Glenn Block where they discuss same issue and compares MVC and new WCF Web API. http://www.hanselminutes.com/default.aspx?showID=284



回答3:

I'd say WCF is better suited to build services, you can do it with asp.net mvc but it requires more ceremony