2008-12-02 25 views
10

¿Podría alguien comparar y contrastar en los servicios WCF Rest vs. ADO.NET Data Services? ¿Cuál es la diferencia y cuándo usar cuál?WCF REST vs. ADO.NET Data Services

Gracias,

Ray.

Editar: gracias a la primera respuesta, solo para dar un poco de información sobre lo que estoy buscando: Tengo una aplicación web que planeo poner en la nube (algún día), la DAL está construida con ADO.NET Entity Framework. Y necesito averiguar qué tecnología de acceso a datos del servicio web se ajusta mejor a mi caso.

Respuesta

14

No estoy seguro de que puedo dar una respuesta completa aquí, pero pasé mucho tiempo en el PDC tratando de resolver esto a mí mismo así que aquí tiene un ir ...

La respuesta corta es que los servicios de datos ADO.Net están destinados a proporcionar una interfaz para el marco ADO.Net (DataContext, Datasets, DataTables, etc ...) que se integra perfectamente con la web, utilizando URI y datos conocidos para apuntar a sus datos. Los servicios de datos ADO.Net también están destinados a la programación de ADO.Net en la nube. Los servicios en la nube de Microsoft, "Azure", es una nueva plataforma de programación en la nube que se lanzará en un futuro cercano. Para obtener más información sobre los servicios en la nube, vaya al here.

Una cosa fresca que se enteró de ADO.NET Data Services y la nube es que los DataContext subyacentes que actúa como el proveedor para el origen de datos se puede configurar fácilmente para señalar su recurso en la nube, o , una base de datos local. ¡Esto le permite cambiar su DataContext sin cambiar ningún código! (Me impresionó que si no podía decirlo)

WCF Rest Services son solo servicios de WCF normales que tienen funcionalidad adicional para que puedan consumirse de manera RESTful (URI vs URL, uso de verbos HTTTP, uso de diferentes formatos de transferencia de datos como JSON, YAML, etc. ...). Así que, por ejemplo, si tenía un servicio web ticker que creó en WCF, en lugar de requerir que la persona que llama use una pesada implementación de WSDL y ASMX, podría usar la funcionalidad WCF Rest para publicar ese servicio como un servicio JSON y hacer que se consuma a través de AJAX sin tener que apuntar a un recurso ASMX. Para obtener más información sobre WCF usando el resto, consulte el PDC Presentation

+0

Ver mi publicación siguiente, publicada originalmente como comentario, entonces creo que necesita tener más de 300 caracteres –

1

¡Muchas gracias por la información! Para mi aplicación, planeo ponerlo en la nube y también utilicé ADO.NET Entity Framework para construir mi DAL, por lo que parece que ADO.NET Data Services es el que puedo elegir.

Una cosa fresca que descubrí acerca de ADO.NET Data Services y la nube es que el DataContext subyacentes que actúa como el proveedor de la fuente de datos pueden ser fácilmente configurados para señalar su recurso en la nube, O, una en la base de datos del local. ¡Esto le permite cambiar su DataContext sin cambiar ningún código! (Me impresionó eso si no se podía decir)

¿Podría decir algo más sobre cómo funcionaría ADO.NET Data Service + EF en la nube?

1

Si se quiere desarrollar y entregar un servicio centrada en los datos, en ciertos casos, una gran cantidad de funcionalidades puede lograrse tanto por la WCF el kit de inicio de descanso y el servicio de datos WCF, ya que ambas tecnologías de WCF pueden entregar sus datos de forma RESTful (p. ej.con contenido direccionable con URL y formatos de datos estándar como xml y json). También equipan con una variedad de clases .NET para tratar y manejar una gran cantidad de solicitudes de red y web, como interceptores HTTP y caché.

Sin embargo, una de las ventajas que el servicio de datos WCF posee pero no el kit de inicio REST es que el servicio de datos WCF puede exponer sus datos en la forma de entidad .NET objetos y en formatos estándar (esto se logra mediante la Protocal OData) Así que supongo que el servicio de datos WCF le daría un rendimiento más versátil en muchos escenarios del mundo real.

1

Una de las principales diferencias entre los servicios de datos ADO.Net y WCF Rest Services es que los servicios REST son livianos y usted puede personalizar lo que quiere obtener escribiendo métodos/funciones separados mientras que los servicios ADO.Net Data son más como un basurero que obtienes todo ... así que para aplicaciones web y RIA, en mi opinión, WCF Rest Services es la mejor y más optimizada opción ...

Cuestiones relacionadas