2010-03-21 4 views
2

J'espère que quelqu'un peut me conseiller sur la façon de résoudre mon scénario de réseautage. Le client et le serveur doivent être basés sur C#/.NET. Je souhaite fondamentalement appeler un type de service Web de mon client afin de récupérer à la fois des données binaires (par exemple des fichiers) et des objets sérialisés et des listes d'objets (par exemple des résultats de requête de base de données). À l'heure actuelle, j'utilise des pages ASPX, en utilisant la chaîne de requête pour fournir des paramètres et je récupère soit les données binaires, soit les données binaires des messages sérialisés. Cela me donne beaucoup de flexibilité, et je peux choisir comment transmettre les données, effectuer des demandes simulatanous, annuler des demandes en cours, etc. Puisque je peux contrôler le format sérialisé, je peux aussi désérialiser des listes d'objets qui sont cruciales. .De ASPX à WCF

Mon problème n'est pas un problème en soi, mais cela me semble un peu compliqué et je ne peux pas m'empêcher de me demander s'il y a de meilleures façons de le faire. J'envisage de passer à la WCF ou peut-être à une autre technologie pour voir si cela aide. Cependant, j'ai besoin de savoir si cela aide mes scénarios ci-dessus;

  • une méthode WCF peut retourner une liste d'objets, et le client peut recevoir les éléments de cette liste à leur arrivée au lieu d'obtenir la liste complète à la fin (à savoir en continu). Est-ce que quelqu'un connaît des exemples de cela?

  • Suis-je susceptible d'obtenir des avantages de performance de cela? Je ne sais pas à quel point les pages ASPX sont réglées pour cela, car ce n'est certainement pas leur objectif principal.

  • Y a-t-il d'autres approches que je devrais envisager?

Merci d'avoir passé du temps à lire ceci. J'espère que tu peux aider.

+0

Combien de données envoyez-vous à la fois lorsque vous posez des questions sur les gains de performances et la diffusion des données? Et sont également beaucoup de latence impliqués? –

Répondre

2

WCF ne prend pas en charge les collections diffusées en mode natif. (Qui ne sont pas les mêmes que Streaming Message Transfer)

Cependant, voir this blog post. Je recommande que vous utilisiez des fichiers ASHX (Generic Handlers) au lieu de pages ASPX (Web Forms), car ils ont beaucoup moins de frais généraux.

+0

Merci pour cela. Les fichiers ASHX semblent être la bonne solution dans mon cas, donc je vais certainement me pencher là-dessus. Merci beaucoup! – Barguast

Questions connexes