1 votes

Appels de services Web parallèles ASP.NET

J'ai une page aspx qui lit les éléments d'une base de données SQL et les affiche dans une grille. Pour chaque élément situé dans la base de données, il y a plusieurs métadonnées associées qui peuvent être récupérées en faisant un appel au service Web pour chaque élément de la grille de visualisation. Ce que je veux faire, c'est effectuer des appels concurrents au service Web (afin de gagner du temps par rapport aux appels séquentiels) et remplir ces métadonnées dans le GridView. Une idée ?

Nous vous remercions, Dimitris

0voto

aepheus Points 2910

Comme indiqué, vous avez deux possibilités. La première consisterait à utiliser la fonction ajax côté client pour récupérer les données après le chargement de la page. L'autre option consiste à utiliser une requête http asynchrone et à récupérer les données avant le chargement de la page.

Si possible, compte tenu de vos exigences en matière de sécurité et de fonctionnalité, je pense qu'ajax est la meilleure solution. Vos serveurs seront moins sollicités.

Pour plus de détails : Après le chargement de votre page, si possible, demandez au client d'appeler directement le service web, en contournant complètement vos serveurs. Il s'agit probablement de la méthode la plus rapide semblant surtout si vous avez beaucoup d'éléments pour lesquels vous devez obtenir des données. Les premiers éléments se chargeront rapidement et l'utilisateur ne remarquera pas que les autres se chargent pendant qu'il est occupé par les premiers.

Par ailleurs, si la sécurité est un problème (votre service web a des informations d'identification que vous ne voulez pas que le monde entier connaisse), vous pouvez utiliser un proxy sur votre serveur, qui renvoie les résultats du service web, que le client demande via ajax.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X