2010-05-09 3 views
0

Je construis quelques petits prototypes dans Silverlight et j'ai une bonne expérience de .NET, mais je n'ai jamais eu besoin de contacter le serveur de Silverlight. Im vraiment juste après une solution très rapide à des fins de prototypage et je vais avoir besoin d'appeler le serveur et faire quelques choses, comme servir une image générée à partir du serveur en utilisant des données post, recevoir des réponses de base de la serveur, mais rien de trop chic.communication client/serveur rapide et sale dans Silverlight

Les services RIA .NET sont-ils la meilleure façon de procéder ou sont-ils trop lourds?

La documentation pour les services RIA est énorme, les introductions vidéo d'une heure, les blogs de séries en 26 parties, etc ... semblent être sa surexploitation.

Y a-t-il un projet rapide basé sur REST que je pourrais créer, ou les services RIA devraient-ils être la solution?

Répondre

1

Si vous voulez simplement faire du HTTP de base you can use the WebClient class pour obtenir des données GET et POST. Si vous avez besoin de plus de contrôle sur les requêtes, vous pouvez utiliser HttpWebRequest, mais c'est un peu pénible si vous n'avez pas besoin du contrôle supplémentaire.

Il existe certaines fonctionnalités de WCF qui vous permettent de créer des services facilement appelables par les clients HTTP, mais ce n'est pas son objectif principal. Si vos opérations serveur sont très simples (ou sont déjà implémentées en tant que REST/HTTP), je m'en tiendrai à cela et j'utiliserai WebClient ou HttpWebRequest. Mais si vous voulez la commodité des classes proxy côté client qui sont plus utilisées comme des appels de méthode, j'utiliserais l'infrastructure WCF mais les services RIA WCF ne sont probablement pas tout ce qui est nécessaire.

A moins que ... vous travaillez sur une ligne d'application d'entreprise qui utilise des choses comme les règles de validation, liaison de données, les opérations CRUD, etc.

+0

merci pour l'info, jusqu'à présent, je l'ai fait un gestionnaire de ashx de base pour servir l'image (en écrivant simplement les octets d'images dans le flux de sortie) et définir l'URL de la balise 'Image' comme étant l'URL du gestionnaire (avec quelques paramètres de chaîne de requête) qui semble fonctionner également. – Mark

+1

Si vous voulez simplement charger une image dynamique dans le contrôle Image qui est l'option la plus simple, oui. Je ne suis pas sûr si Silverlight a toujours ce problème, mais dans Silverlight 4 beta, j'ai remarqué que si vous chargiez un tas d'éléments Image et obteniez une erreur 404 ou une autre, l'utilisation du processeur augmenterait. J'ai travaillé autour d'elle en accrochant l'événement ImageFailed et définissez la source à null. – Josh

+0

merci pour les conseils :) – Mark

Questions connexes