WebService Asynchrone et ASP.NET
Bonjour,
Je rencontre actuellement un problème que d'autres ont certainement déjà rencontré mais je n'ai pas trouvé de réponse me convenant à 100% (et même moins).
Je développe actuellement une application ASP.NET en C# 2.0 devant générer des fichiers Excel basés sur des rapports Reporting Services !!!
Pour générer les rapports, je fais donc appel au WebService de reporting services. Les rapports générés proviennent tous du même rapport reporting services mais je lui envoie différents paramètres agissant notamment sur les données présentes dans le fichier final !!!
Dans un premier temps, j'ai réussi sans trop de problèmes (même aucun) à générer de manière synchrone mes résultats. Le problème c'est que l'opération est beaucoup trop longue (environ 15 sec par rapport, avec au final probablement 30 rapports à générer, donc 15 x 30 = beaucoup trop).
Les fichiers générés sont ensuite proposés en téléchargement à l'utilisateur (par soucis de simplicité pour l'utilisateur, je zip les fichiers, l'utilisateur n'a donc qu'un seul fichier à télécharger).
Pour réduire le temps de génération, j'ai voulu générer mes fichiers de manière asynchrone en utilisant un callBack !! Ceci marche à peu près !! J'ai de manière plutôt imprévisible une erreur indiquant que je dépasse le nombre d'appels autorisé au webservice pour mon utilisateur.
Le truc c'est qu'en utilisant la génération asynchrone j'ai une nette amélioration !! Environ une division par 3 !!!
J'ai trouvé des exemples de code proposant d'utiliser un service windows auquel l'application s'adresse !!! Le service effectuera alors la génération asynchrone et "retourne" un message indiquant que la génération est terminée !!! (à cette adresse : http://www.15seconds.com/issue/031124.htm)
Pensez-vous que c'est la seule issue pour moi ?? Est-ce que je risque d'obtenir la même erreur de nombre de dépassement d'appels autorisé ??
Merci d'avance pour toutes réponses !!!
Config Réponses simultanées
Hélas non je n'ai rien trouvé à ce sujet !!! Pendant la pause repas, j'ai eu une petite idée !!! Je crois que le webservice de reporting services accepte une liste de jobs, je vais donc jeter un oeil dessus !!!
Il ne reste que je suis ouvert à toutes autres idées !!!