IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

WebService Asynchrone et ASP.NET


Sujet :

Services Web

  1. #1
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut 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 !!!

  2. #2
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Par défaut
    Je pense que ton problème ne vient pas de ton code mais plutot d'un paramêtre au niveau de ton webserver.

    Regardes du côté de IIS si tu peux définir le nombre de requête simultanées.

    Ludovic,
    Envie de contribuer à la rubrique SharePoint ? Contactez moi par MP !

    SharePoint : http://sharepoint.developpez.com
    Mon site : http://lefortludovic.developpez.com
    Mon blog : http://www.consultpoint.net/blog

  3. #3
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut 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 !!!

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bon rien du coté de l'exécution d'une liste de job par le webservice reporting services !!!

    Je cherche encore !!!

  5. #5
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Quelle est exactement l'exception que tu recois ?

    Peux tu nous poster le log de ton Event Viewer ( Observateur d'événements) !

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Ah malheureusement va falloir attendre car là mes chers collègues ont améliorés le tout, la génération de rapport ne fonctionne plus du tout !!! Bon certes, ils ont modifiés le cube, les tables... bref tout ce qui m'arrange !!!

    Donc pour reproduire l'erreur va falloir attendre !! Mais le message était quelque chose du genre :
    Vous ne pouvez pas faire un nouvel appel au webservice car l'utilisateur 'nom_de_l'utilisateur' a atteint le nombre maximum autorisé !!!

    Et convernant l'event viewer, je n'ai trouvé aucun message en rapport avec cette erreur !!!

  7. #7
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Citation Envoyé par ostenhard
    Et convernant l'event viewer, je n'ai trouvé aucun message en rapport avec cette erreur !!!
    T'as bien sure regardé le event viewer de ton server pas celui de ta machine ?

  8. #8
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    A priori c'est le bon que je regarde (en tout cas, je ne regarde pas celui de ma machine locale) !!!

    Je viens de refeuilleter les messages de l'event viewer et il y en a peut-être un qui peut correspondre mais le truc c'est qu'il n'apparaît que rarement (et au vue du nombre de tests effectués !!!)

    Le message dit :

    The report server has detected a possible denial of service attack. The report server is dropping requests for service from the IP address 'adresseIP_du_serveur'.

    Alors ce message peut tout à fait correspondre à ce qu'il se passe. En gros, il a trop de connexion donc il coupe, d'un coté, il voit ça comme une attaque par déni de service, et en .NET, il retourne une erreur disant "mon pote tu tentes trop de connexion d'un coup" !!!

    Merci pour toutes réponses !!!!

  9. #9
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Tu me mets en doute là, un problème de config de SSRS ou de IIS ???

    Mais je pense pas que l'alert ne concerne pas ton problème. On va attendre plutôt que tes amis les developpeurs terminent de corriger les reports.

  10. #10
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Franchement, moi aussi j'en perds mon latin avec cette fichue erreur !!!
    En fait, elle se déclenche de manière assez imprévisible !!!
    C'est simple, j'ai codé hier la génération asynchrone et ça plantait dès le premier Render de rapport et pour un seul rapport en plus (c'est fort quand même).

    Ce matin, j'arrive hyper motivé, je me dis à 12H au plus tard c'est réglé !!! Je lance l'application, je teste pour un seul rapport, ça marche (là perplexe...puis cool ça marche (enfin ça s'améliore) ! Je reteste mais avec 5 rapports !! Et ça marche !! Merveilleux !!! Je teste avec 20 et boom c'est mort !!!
    Je reteste avec moins ça remarche !!! Je teste de façon à trouver une limite !!! Je trouve vers 14 !!!
    Mais parfois ça plante avec 2 !!! Enfin c'est génial, c'est la fête, j'adore mon travail !!! Le soleil revient, tout va bien !!!

  11. #11
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Bon, gardons notre calme sinon la bouteille de gaz va exploser

    Alors ta réussis à récuperer l'exception ou pas ?

    jette un ocup d'oeil sur ça : Monitoring Connections (IIS 6.0)

  12. #12
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Non toujours pas de récupération de l'exception possible car mes collègues n'ont toujours pas corrigé l'autre problème !!! Je pense que ça va être pour demain !!!

    Si non je suis calme !!! La solution est pour l'instant cachée mais bon !!!

  13. #13
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Voici enfin le message d'erreur obtenu, qui est retourné par le webservice de reportingservices :

    The number of requests for "mon_user" has exceeded the maxumum number allowed for a single user.

    Merci d'avance !!

    Et cela correspond dans l'event viewer au message indiquant une probable attaque par déni de service !!!

  14. #14
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Par défaut
    Donc cela vient bien d'un problème de configuration du nombre d'accès simultané.

    Es tu vraiment obligé de faire autant d'accès au web service ?
    Envie de contribuer à la rubrique SharePoint ? Contactez moi par MP !

    SharePoint : http://sharepoint.developpez.com
    Mon site : http://lefortludovic.developpez.com
    Mon blog : http://www.consultpoint.net/blog

  15. #15
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Eh bien j'avais eu l'idée de temporiser, afin de traiter par vague les appel ! Mais cela n'avait pas été un grand succès !!!

    Je fouille encore et encore !!!

    Merci des réponses en tout cas !

    PS : j'ai essayé en modifiant la configuration de reporting services et d'augmenter le nombre de requetes par user, la taille de la file... (redémarrer reporting services) Mais sans succès !!!

  16. #16
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Re tout le monde,

    Bon je viens me faire fouetter !!!

    J'ai résolu mon problème sans le résoudre avec la technique du mal absolu !!!

    Je récupère les générations en erreur et je les retraite tant qu'il en reste !!! Oui je sais c'est très mal mais vu que je n'ai rien trouvé qui me permmette de traiter tout correctement dès le premier passage !!! Cette solution qui n'en est pas une techniquement parlant, me permet d'avoir ce qu'il faut au final !!!

    En plus, je perds pas trop sur les perfs donc en temporaire c'est pas trop mal !!!

    Merci à tous mais si vous avez une idée dans un coin je suis pas contre !!!

  17. #17
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Bonjour,

    juste pour situer le problème, est-ce que le problème est reproduit lorsque tu lances la génération des rapports :

    à partir de Report manager ?
    en mode WS synchrones ?

  18. #18
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Alors en mode synchrone, y a aucun problème !!! Sauf que c'est long !!!

    Sinon à partir de Report Manager aucun problème non pus (et de toute façon on en génère qu'un à la fois avec report manager ) !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.NET] Configuration pour webservice
    Par Le-Cortex dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/03/2010, 17h35
  2. [ASP.NET][JS]Réponse d'un webservice
    Par Le-Cortex dans le forum Services Web
    Réponses: 5
    Dernier message: 28/08/2007, 14h13
  3. Webpart, Webservice, Sharepoint, asp.net
    Par Kapitteli dans le forum SharePoint
    Réponses: 6
    Dernier message: 28/07/2007, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo