2010-06-10 25 views

Respuesta

7

WCF es una infraestructura de comunicación para servicios en general. Los servicios de WCF RIA generan automáticamente objetos proxy de cliente y servidor para facilitar el desarrollo de aplicaciones, y depende de WCF para realizar la comunicación real. Los servicios de datos de ADO.Net se han renombrado a WCF Data Services y brindan servicios de OData a través de WCF.

1

Ésta es Collin Blair

http://forums.silverlight.net/t/103015.aspx/1

Usted pregunta es análoga a preguntar ¿cuál es la diferencia entre una hamburguesa simple hamburguesa y un hambuger por lo que es difícil obtener una respuesta directa. Obtener una buena respuesta también se ve obstaculizado por el hecho de que RIA Services no será una "función completa" hasta al menos PDC, por lo que cualquier respuesta que reciba se basará en las expectativas y la especulación. Finalmente, RIA Services es plural por una razón, hay múltiples clases en RIA Services que hacen cosas diferentes. Aquí está mi respuesta basada en los mapas de ruta y mi comprensión de los objetivos del equipo de Servicios de RIA.

RIA Services es una biblioteca de componentes de cliente y servidor que se conectan a ADO.NET Data Services. Cuando se usa la pila completa de Servicios RIA, la diferencia entre los Servicios RIA y WCF simple es la siguiente:

Los objetos de datos del lado del cliente se generan utilizando la reflexión en tiempo de compilación en función de los objetos reales del servidor en lugar de un contrato de servicio. Esto permite que RIA Services proporcione un modelo de objetos del lado del cliente mucho más rico al incluir cualquier regla de negocios y relaciones entre objetos. Sin embargo, esto significa que RIA Services renuncia a cierta flexibilidad en comparación con WCF simple. Por ejemplo, el serializador de servicios de RIA no admite actualmente algunos tipos de datos que WCF podría manejar. RIA Services, como ADO.NET Data Services, admite la serialización de consultas LINQ entre el cliente y el servidor. Esto significa que el cliente puede crear la consulta LINQ y ejecutarla en el servidor. Los servicios de RIA, a diferencia de los servicios de datos ADO.NET, no generan automáticamente CRUD en tiempo de ejecución. Para las personas familiarizadas con SQL Server, describo los servicios de datos ADO.NET como compatibles con los desencadenantes normales (también conocidos como interceptores de consultas) mientras que los servicios RIA requieren desencadenadores INSTEAD OF.

1

La siguiente respuesta no es mía, pero igual respondo una parte de la pregunta que no ha sido respondida.

copio-pegado esta respuesta de aquí https://social.msdn.microsoft.com/Forums/en-US/687426d9-709f-4e73-8c4c-dd3630f006e7/wcf-data-service-or-wcf-service?forum=adodotnetdataservices

WCF servicios son operación centrada en - lo más importante que se hace con estos es definir operaciones (funciones). Los datos vienen como algo secundario en una forma . Por otro lado, pueden trabajar con muchos diferentes transportes/protocolos . Usted tiene la capacidad de definir estrictamente lo que el cliente puede y no puede hacer. El cliente realmente no puede inventar las nuevas consultas/operaciones , el servidor debe implementar todo lo que necesita el cliente .

WCF Los servicios de datos están centrados en los datos - lo principal que usted hace con estos es definir un modelo de datos para ser expuesto.Las operaciones en los datos son "predefinidas" (Crear/Eliminar/Actualizar/Leer). Solo es compatible con el protocolo HTTP y utiliza REST. Por lo general, permite que los clientes decidan qué quieren hacer (en algunos límites) . Una de las principales diferencias del servicio WCF es que el cliente puede emitir una consulta en relación con el modelo de datos (piense en algo parecido a SQL) que el cliente construye. Esto significa que el servidor no necesita saber exactamente qué necesita el cliente hasta frontal, el cliente podrá indicarle el tiempo de ejecución.

Vitek Karas [MSFT]