2011-04-13 3 views
0

J'ai décidé d'apprendre Silverlight, mais en plus de savoir comment écrire des applications, j'ai aussi besoin de savoir comment me connecter à un serveur distant pour récupérer des données. J'ai vu quelques exemples de connexion de base de données dans. NET, mais je suis plutôt confus par quel chemin aller.Comment se connecter à une base de données SQL distante dans une application Silverlight?

Ma question générique est comment les applications SL se connectent-elles aux serveurs distants? Vous pouvez poster une réponse subjective si vous le souhaitez, mais cette question devrait être objective en ce sens que je veux apprendre sur les moyens possibles de créer une connexion à un serveur SQL distant.

D'où viennent ces fonctionnalités (WCF, XML, Ajax, Linq à SQL, Entity Framework, fournisseurs d'accès aux données, etc.)? Si l'on veut établir des connexions robustes et sécurisées, lesquelles de ces personnes (ou d'autres) sont indispensables? Je voudrais saisir un livre et apprendre des choses, mais avant de le faire, je dois savoir dans quoi investir mon temps.

Répondre

1

Silverlight, étant une technologie de navigateur, n'effectue pas de connexions SQL Server directes. La plupart des applications SL parlent HTTP à un serveur (REST, SOAP, POX) - d'autres options sont disponibles, mais beaucoup plus limitées qu'avec le «gros» .NET Framework.

Probablement le moyen le plus facile d'aller pour un débutant est les services .NET RIA. Il permet une exposition simple de différents types de modèles construits à partir de bases de données (LINQ to SQL, Entity Framework, etc). LINQ to SQL est le plus simple du côté du modèle si vous parlez à SQL Server, bien que EF soit aussi très bien (un marteau plus grand et plus complexe). Les services RIA vous permettent d'exposer les objets de table de votre modèle via un service Web et le client Silverlight peut consommer des données via des requêtes LINQ renvoyées au serveur (très efficace: les critères de la requête résident sur le client, tandis que le filtrage des données se passe sur le serveur, et tout le type est vérifié à la compilation contre le modèle, donc il est beaucoup plus difficile de visser les types de données et les requêtes ou de vous exposer aux attaques par injection SQL). Les services RIA vous permettent également d'appliquer diverses options de sécurité et de validation des données aux deux extrémités, et toute la puissance de WCF est disponible si vous passez à un niveau inférieur et faites quelque chose que RIA ne peut pas faire.

Questions connexes