que - web api rest c#
Servicio WCF o API web (6)
Me limitaría a ver cuál es el mejor soporte en todas las plataformas que va a utilizar, sospecho que la aplicación de iPhone puede terminar impulsando sus elecciones.
Si fuera .net puro, tendería a inclinarme hacia un servicio SOAP, no se considera genial en estos días, pero generalmente hará lo que necesita en la mayoría de las plataformas sin tener que rodar soluciones personalizadas.
EDITAR
ASP.NET Web API significa que .NET ahora proporciona un gran marco para desarrollar una API relajante, reviso mi respuesta para decir que ahora me inclinaría por esto, ¡el progreso es excelente!
Voy a trabajar en un proyecto que implica una serie de elementos:
- Sitio web ASP.NET MVC
- Aplicación de consola C #
- Aplicación de iPhone
Para obtener todas estas aplicaciones por separado para hablar con la base de datos, mi pensamiento inmediato fue utilizar un servicio WCF.
Sin embargo, ahora necesito agregar una API al sitio para permitir que terceros seleccionen, inserten y actualicen registros de sus propias aplicaciones.
En mi opinión, simplemente crearía un punto final de servicio RESTful separado en mi Servicio WCF que se bloquearía mediante autenticación y solo daría acceso a ciertos métodos.
Sin embargo, he estado leyendo hoy sobre la función de API web en MVC 4, que debe ser lo último para las API RESTful.
¿Debería ir por la línea de usar la API web? o porque mis otras aplicaciones necesitan un servicio web, ¿debo quedarme con un Servicio WCF?
No hay una respuesta correcta aquí. Sin duda puede hacerlo bastante bien con un servicio WCF RESTful. O podría usar ASP.NET MVC. Ambos son perfectamente válidos, y ambos tienen fortalezas y debilidades.
En definitiva, te sugiero que vayas con lo que te parezca más sostenible.
Me gustaría señalar que MVC 4 está en fase beta, así que ten cuidado con los errores y no se publique hasta que salga de la versión beta.
Puesto que va a crear un sitio web ASP.NET MVC, sería bastante cómodo utilizar ASP.NET Web API también porque el modelo de programación es muy similar y esas soluciones están más o menos integradas entre sí.
Si tiene intención de realizar un desarrollo RESTful, definitivamente querrá utilizar ASP.Net Web Api (que originalmente se llamaba WCF Web Api y se creó con el objetivo de "Convertir a REST en un ciudadano de primera clase en .NET" .
Otra cosa a considerar es que el kit de inicio WCF REST ya no es compatible .
Tenga en cuenta que el uso de Web Api no significa que tenga que utilizar ASP.Net MVC o IIS incluso si puede ser alojado por sí mismo .
Para el manejo de operaciones que no son CRUD en la naturaleza, recomendaría Google "REST non-CRUD". Encontré este blog RESTful URLs para operaciones que no son CRUD (y particularmente los comentarios interesantes). Si decide que NECESITA tener llamadas RPC, puede que tenga que hacerlo con WCF. Dicho esto, dado que WCF REST está siendo eliminado, no estoy seguro de cuál será la mejor solución. Tener ambos es probablemente la mejor respuesta, pero al mismo tiempo no es necesariamente una buena respuesta.
Otra alternativa sería un WCF OData Service pero no estoy seguro de si recibe algún soporte de un iPhone.
Un último punto para hacer (que se puede eliminar en el futuro ya que es sensible al tiempo)
Microsoft ha proporcionado una licencia Go Live con la versión beta, lo que significa que es compatible con Microsoft y no debería tener problemas para actualizar el archivo RTM.
Tengo la misma pregunta.
En el sitio de MSDN, http://msdn.microsoft.com/en-us/library/jj823172(v=vs.110).aspx
Encontré un video tutorial donde decían que para el consumo de máquinas como iPhone o clientes de aplicaciones web de JSON o xml, se recomienda la API web. Está alrededor de la última parte del video.
Mientras que para comunicación más compleja de máquina a máquina, WCF es preferible.
Aquí hay una captura de pantalla de su presentación.
Service Stack también se ve como una opción.
Demos, descripción general, ejemplos está disponible aquí .