2011-05-01 25 views
26

¿Cuál es la ventaja de utilizar la nueva API de Web WCF sobre ASP.NET MVC 3 para exponer una capa de servicios web ligero JSON? Me gusta Web API de muchas maneras, pero el inconveniente es que no funciona en mono, mientras que MVC 3 sí. ¿Cuáles son las principales diferencias entre los dos enfoques?WCF Web API vs servicios web ASP.NET MVC JSON

+0

posible duplicado de [¿Cuál es la mejor manera de implementar una arquitectura RESTful en .NET hoy?] (Http://stackoverflow.com/questions/4318196/what-is-the-best-way-to-implement- a-restful-architecture-in-net-today) –

+3

¿Has escuchado los recientes Hanselminutes con Glenn Block? Este tema se discute en detalle. http: //www.hanselman.com/blog/HanselminutesPodcast264ThisIsNotYourFathersWCFAllAboutTheWebAPIWithGlennBlock.aspx –

Respuesta

2

Creo que esta pregunta se dirige a nuevos WCF Web API y debido a que no es lo mismo que pregunta vinculada como duplicado.

WCF Web API elimina algunas limitaciones del soporte WCF Rest actual, pero la principal desventaja de la API web es que solo es un borrador - actualmente vista previa 4. No tiene soporte y probablemente no se debe usar en producción ambiente. Además, cualquier versión nueva puede introducir cambios importantes o eliminar todo el conjunto de características disponibles en la versión anterior. Por eso, debe usar ASP.NET MVC para crear una capa de servicio JSON liviana.

+2

Se puede usar en prod, pero solo dentro de su propia empresa. No puede implementarlo en el sitio de un cliente. –

8

Se reconoce por Microsoft, que existe un cierto solapamiento entre los dos productos. Sin embargo, tienen un enfoque diferente:

  • Si usted está construyendo un sitio web que consume JSON de su servicio web, entonces MVC es probablemente la mejor opción.

  • Si está creando una API destinada a ser consumida por una variedad de clientes de terceros, WCF Web API es la mejor opción.

mis propias razones personales incluyen el hecho de que los medios de API Web WCF que pueda auto-host en un servicio de Windows, y no puedo evitar ASP.NET, web.config y Cassini :-)

+0

¿La razón de esto es que puede exponer otros formatos/puntos finales que HTTP/JSON? Glen Block mencionó también que WCF Web API es más adecuada para los clientes que ya están agotando su capa de servicio escrita en WCF. – adrin

+0

@adrin Usted "puede" exponer otros formatos en ASP.NET MVC, simplemente no es un objetivo principal de ASP.NET MVC, mientras que es un objetivo principal de WCF Web API. Realmente es solo un problema de enfoque. –

+0

@adrin Claro, si ya está familiarizado con WCF, entonces será una transición más fácil. Los nuevos bits conservan una gran compatibilidad con WCF REST 3.5 y 4. –

3

Actualizado 24/06/14 por solicitud:

Lo que ahora es ASP.NET Web API (anteriormente WCF Web API) y ASP.NET MVC se fusionarán formalmente en lo que actualmente se denomina ASP.NET vNext (MVC 6).

http://www.asp.net/vnext/overview/aspnet-vnext/overview

========================================= ==================================

respuesta original:

se anunció ayer (8/02/2012) que los proyectos se están fusionando formalmente. Ver:

http://www.c4mvc.net/meeting/?id=25

y

http://msdn.microsoft.com/en-us/hh824721

El enlace c4mvc deben actualizarse con un enlace a la presentación de Dan Roth pronto.

+0

Parece que el enlace superior ya no es relevante –

+0

Una actualización puede ser una buena idea para mantener esta respuesta relevante ... – Nenotlep

+1

@Nenotlep hecho! –