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

Dotnet Discussion :

Concurrence dans un WebService .NET


Sujet :

Dotnet

  1. #1
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    339
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 339
    Points : 458
    Points
    458
    Par défaut Concurrence dans un WebService .NET
    Bonjour à tous,

    J'ai un gros souci. Voici l'histoire:

    Je crée un webservice nommé SWToto qui contient une méthode FaireChose(unParam as Parametre). Cette méthode FaireChose effectue une opération assez longue de conversion de données, et me retourne un objet rempli avec des valeurs simples (string, entier, etc..).

    Quand j'appelle ma méthode, tout fonctionne bien, pas de souci à ce niveau.

    Le problème survient lorsque je teste cette méthode avec un collègue.
    Nommons nous testeurA (moi), et testeurB (lui).
    Mettons, pour l'exemple, que testeurA passe comme paramètre un tableau de string contenant A B C D E F G H. Et que testeurB, de son coté, passe un tableau de string contenant 1 2 3 4 5 6 7 8.
    Imaginons que cette méthode est censée accoler un caractère $ à chaque string contenue dans le tableau (exemple de retour A$ B$ C$ E$ etc...)

    La méthode effectue son gros calcul bien long et lourd (quelques secondes).
    Lorsque je teste seul,elle me retourne le résultat attendu.
    Cependant, lorsque nous testons ensemble, je me retrouve avec son résultat (1$ 2$ 3$ 4$ etc...)

    J'en déduis donc que le webservice s'est mélangé les crayons, et qu'il m'a retourné le résultat de testeur B au lieu du mien.

    Ma question est donc : le service Web est il capable de gérer les accès concurentiels? Si ce n'est pas le cas, comment puis procéder pour gérer ceci?

    Merci de votre aide

    Jo

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    ton service web est t'il développé comme un barbare avec .NET Remoting ou WCF, ou ta utilisé un projet WebService dans visual studio ?

    en théorie, les webservices supporte les accès concurrentiels, sous certaines conditions, qu'il faut réunir coté serveur.

    si on prend l'exemple de .NET Remoting, quand tu créé le service à exposer, tu dois entre autre définir une fonction GetLifeTimeService qui défini la durée de vie du service, et tu défini au moment de la registration, si tu utilise une instance UNIQUE partagée, ou une instance séparée à chaque demande, ...

    Dans le cas des webservices "normaux" le principe est le meme tout dépend comment est géré le webservice coté serveur... instance partagée unique avec un lifetimeservice qui correspond à la durée de vie du serveur, ou des instances concurrentielles...

    Si tout passe par WCF, d'autres paramètres entres en ligne de compte, comme l'éventuelle concurrence des différentes instances...

  3. #3
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    339
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 339
    Points : 458
    Points
    458
    Par défaut
    Il s'agit bien d'un projet webservice de visual studio.

    Dans le cas des webservices "normaux" le principe est le meme tout dépend comment est géré le webservice coté serveur... instance partagée unique avec un lifetimeservice qui correspond à la durée de vie du serveur, ou des instances concurrentielles...
    Pour ce que j'en sais, le webservice est installé sur un serveur sur IIS6. Pour ce qui est de cette histoire d'instance unique,de lifetimeservice et d'instances concurrentielles, je peux savoir ça où?

    Merci de ton aide

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    effectivement, moi j'ai surtout l'habitude de déployer des webservices à l'intérieur d'une application serveur... je les gères donc moi meme, sans passer par IIS,

    et comme je les développe soit en .NET Remoting, soit avec WCF, tout est paramètrable.

    Je pense cependant qu'il doit yavoir quand meme un moyen de gérer tout cela sur des webservices directement hébergés par IIS, malheureusement n'ayant jamais eu recours à ce genre de webservice j'ignore comment

  5. #5
    Membre confirmé Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    339
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 339
    Points : 458
    Points
    458
    Par défaut
    Bon,
    en fait, le problème n'existe pas
    enfin, il existe peut être ailleurs, mais était dû dans mon cas au mauvais paramétrage d'une application tierce utilisée par ce webservice.

    Je vous remercie tout de même de vous être penchés sur mon problème.

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/04/2006, 18h40
  2. Visual C++ dans Visual Studio .net 2005 beta 2
    Par T0xF0x dans le forum MFC
    Réponses: 19
    Dernier message: 09/01/2006, 02h09
  3. [C#] Comment utiliser des dll win 32 dans un projet .NET
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 31/05/2005, 13h45
  4. [C#] Ressources importantes dans une appli .net
    Par tiboleo dans le forum Windows Forms
    Réponses: 31
    Dernier message: 07/09/2004, 19h27

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