Services RIA contre WCF Services
Je suis la réécriture d'une application MÉTIER dont l'architecture est comme ceci:
Silverlight && Windows Mobile -> WCF
-> Entity Framework -> Base de données.
L'application mobile a été censé être capable de faire certaines choses comme l'application silverlight. Quels avantages aurais-je obtenir de l'aide de RIA Services ici? Quel est l'avantage et l'inconvénient de RIA Services sur WCF?
source d'informationauteur Shawn Mclean | 2009-10-29
Vous devez vous connecter pour publier un commentaire.
.NET RIA Services a été créé pour Silverlight qui s'exécute dans le navigateur. Silverlight est en cours d'exécution d'une version spéciale de la de la .NET framework et dans un N-tier application Silverlight est pas en mesure de partager les assemblys avec le côté serveur. En employant certains intelligents génération de code .NET RIA Services rend cette lacune presque invisible pour le développeur. Classes similaires pour les classes du domaine sont code généré sur le côté client, et des moyens pour déplacer des objets en arrière-et-vient entre le client et le serveur sont également mis à disposition.
Vous serez probablement en mesure d'appeler .NET RIA Services de Windows Mobile, mais je ne pense pas qu'il sera particulièrement facile et actuellement, vous pouvez en fait avoir à désosser ce qui est envoyé sur le fil (JSON est utilisé). WCF sur l'autre est beaucoup plus large champ d'application, mais ne prend pas en charge le développement de Silverlight de la même manière que .NET RIA Services.
Si vous écrivez une Silverlight ne N-l'application de la couche .NET RIA Services sont très puissants. Toutefois, si Silverlight est un seul de plusieurs clients de la WCF est probablement un meilleur choix.
Veuillez noter que l' .NET RIA Services n'a pas encore été dévoilé, mais un aperçu est disponible pour le téléchargement.
WCF RIA Services propose plusieurs solutions pour les défis que vous rencontrez lors de l'utilisation de WCF, Silverlight. Par exemple, le chargement asynchrone des requêtes à l'aide de la
EntityQuery<T>
est beaucoup plus facile que de le Commencer..Fin de la solution offerte par la WCF. Aussi, RIA intègre le suivi des modifications de votre client qui permettent de soumettre ou de rejeter plusieurs changements comme un ensemble de modifications. RIA faudra regrouper tous ces changements en une seule demande, mais à partir de votre Service de Domaine, il se comporte comme c'étaient des appels individuels. Comme un long temps WCF développeur je peux vous dire que c'est un jeu d'enfant.Ria services sont créés pour être utilisés avec Silverlight. Elles sont pour l'essentiel à une norme "package" prêt à être utilisé par Silverlight. L'avantage est que vous avez beaucoup de services, sans avoir à écrire de code c'est à dire:
Toutes les choses par Ria peut être fait avec WCF et avec d'autres logiciels, et en particulier avec les services de données Wcf. Par exemple, les annotations de données, j'ai trouvé cette bibliothèque que faire un meilleur travail que les Ria services, le soutien à l'appartenance juste besoin d'activer le déjà existant adhésion à l'extrémité d'un service WCF, et enfin l'exception problème est facilement résolu par l'écriture d'un WCF comportement. Le Code est disponible here:http://www.silverlightshow.net/Storage/10Tips.zip
Le point est que, avec Ria Service que vous avez tout cela en un clic de souris!. De l'autre côté de la Ria Services sont vraiment difficiles à personnaliser...donc si vous n'aimez pas la solution standard, ils offrent vous simplement ne pouvez pas les utiliser
RIA Services est construit sur le haut de la WCF. Avec le contrôleur principal de presse, ce sera beaucoup plus évident. RIA Services simplifie la programmation côté client modèle, de sorte qu'il correspond très étroitement avec votre côté serveur DomainService et entités.
Quelle que soit la réponse:
Pour moi (et je suppose que pour la rubrique auteur), il n'est pas clair ce que RIA services fournissent également outre l'accès à la DomainService (qui est la même chose fournis par la WCF)?
Grâce.
Jusqu'à ce qu'il y a une version de la WCF RIA Services, je ne pense pas qu'il y a une réponse définitive à cette question. Que de la version Bêta actuelle (par rapport à 2008, SL 3), RIA Services ne cache pas la nature asynchrone des appels de service; vous avez encore besoin de fournir une méthode de rappel. Aussi, RIA Services ne prend pas actuellement en charge les classes définies par l'utilisateur (ou des collections de classes définies par l'utilisateur), des paramètres ou des valeurs de retour sur la RIA appels de service. Je suis également en cours d'exécution dans la difficulté à fournir non-modifiable classes d'entité par RIA Services. (Le message d'erreur indique que l'entité de collecte n'est pas modifiable. Oui, c'est en fait ce que je veux....)
À ce point, j'ai besoin de tomber en arrière et prendre un autre regard à faire un bon vieux WCF travail. Ce n'est pas si simple, compte tenu de la taille de l'application que nous développons, mais il semble être la solution jusqu'à ce que MS résout certains des problèmes actuels avec RIA Services.
.NET RIA Services a été nommé comme WCF RIA Services dans le PDC qui a eu lieu en novembre 2009. Depuis qu'il est intégré sur le dessus de la WCF, d'où le nom de WCF RIA Services.
Vous aurez besoin d'utiliser WCF RIA Services pour la construction de N l'application de la couche impliquant la base de données(ou de toute information qui doit être propagé par les niveaux).