2010-06-10 9 views

Répondre

7

WCF est une infrastructure de communication pour les services en général. Les services RIA WCF génèrent automatiquement des objets proxy client et serveur pour faciliter le développement d'applications et dépendent de la fonction WCF pour effectuer la communication. Les services de données ADO.Net ont été renommés en services de données WCF et fournissent des services OData sur WCF.

1

Celui-ci est par Collin Blair

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

Vous question est analogue à demander quelle différence entre un hamburger simple et un hamburger, c'est pourquoi il est difficile d'obtenir une réponse directe. Obtenir une bonne réponse est également entravé par le fait que les Services RIA ne seront pas "complets" avant au moins PDC, de sorte que toute réponse que vous obtiendrez sera basée sur les attentes et les spéculations. Enfin, RIA Services est pluriel pour une raison, il y a plusieurs classes dans les services RIA qui font des choses différentes. Voici ma réponse basée sur les feuilles de route et ma compréhension des objectifs de l'équipe RIA Services. RIA Services est une bibliothèque de composants client et serveur qui s'adapte aux services de données ADO.NET. Lorsque la pile complète de services RIA est utilisée, la différence entre les services RIA et WCF simple est la suivante:

Les objets de données côté client sont générés à l'aide de la réflexion au moment de la compilation en fonction des objets serveur réels au lieu d'un contrat de service. Cela permet aux services RIA de fournir un modèle d'objet côté client beaucoup plus riche en incluant les règles métier et les relations entre les objets. Cependant, cela signifie que les services RIA abandonnent une certaine flexibilité par rapport au simple WCF. Par exemple, le sérialiseur RIA Services ne prend actuellement pas en charge certains types de données que WCF serait en mesure de gérer. Les services RIA, comme ADO.NET Data Services, prennent en charge la sérialisation des requêtes LINQ entre le client et le serveur. Cela signifie que le client peut créer la requête LINQ et l'exécuter côté serveur. Contrairement aux services de données ADO.NET, les services RIA ne génèrent pas automatiquement CRUD au moment de l'exécution. Pour les personnes familiarisées avec SQL Server, je décris ADO.NET Data Services comme prenant en charge les déclencheurs réguliers (également appelés intercepteurs de requête) tandis que les services RIA requièrent des déclencheurs INSTEAD OF.

1

La réponse suivante n'est pas de moi, mais répond toujours à une partie de la question qui reste sans réponse.

Je copie-collé cette réponse d'ici https://social.msdn.microsoft.com/Forums/en-US/687426d9-709f-4e73-8c4c-dd3630f006e7/wcf-data-service-or-wcf-service?forum=adodotnetdataservices

WCF sont centrés sur le fonctionnement - la principale chose que vous faites avec ces est de définir les opérations (fonctions). Les données viennent comme une chose secondaire d'une manière . D'autre part, ils peuvent travailler sur beaucoup de différents transports/protocoles. Vous avez la possibilité de définir strictement ce que le client peut et ne peut pas faire. Le client ne peut pas vraiment créer de nouvelles requêtes/opérations , le serveur doit implémenter tout ce dont a besoin le client .

Les services de données WCF sont centrés sur les données - la principale chose que vous faites avec ces est de définir un modèle de données à exposer.Les opérations sur les données sont "prédéfinies" (Créer/Supprimer/Mettre à jour/Lire). Il prend uniquement en charge le protocole HTTP et utilise REST. Vous permettez généralement aux clients de décider ce qu'ils veulent faire (dans certaines limites). L'une des principales différences par rapport à WCF Service est que le client peut émettre une requête par rapport au modèle de données (pensez à SQL), que le client construit. Cela signifie que le serveur n'a pas besoin de savoir exactement ce que le client a besoin avant, le client sera en mesure de dire à l'exécution.

Vitek Karas [MSFT]

Questions connexes