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 :

Appel webservice en multi threads a partir d'un fichier


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 82
    Par défaut Appel webservice en multi threads a partir d'un fichier
    Bonjour a tous,

    Je débute dans les threads et j'avoue que je tourne pas mal en rond face a mon problème.

    La problématique est la suivante :
    Je dois lire un fichier contenant des centaines de milliers de lignes et pour chacune de ces ligne je dois faire appel à un web service.
    Seulement je n'arrive pas à mettre en place cette logique.

    Je pensais faire quelque chose comme cela :
    -Ouvrir un streamReader
    -Créer les threads
    -faire une boucle avec readLine pour parcourir le fichier
    -et pour chaque ligne regarder si un thread est libre
    si oui alors je lui passe la ligne et il va attaquer le webservice et je récupère le retour puis libère le thread
    si non attendre qu'un thread se libère et dès qu'un se libère passer une nouvelle ligne.

    Pensez vous que cette logique soit bonne?

    Et pourriez vous m'orienter dans ce développement?

    Pour l'instant j'essaye d'avancer en utilisant ces éléments la mais ca ne donne rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    //Création des thread
    int number = 10;
    Thread[] threads = new Thread[number];
     
    //Création des appel web services
    static wsaiWebServLocal.WSAI[] clients = new wsaiWebServLocal.WSAI[number];
     
    //lancement
    // je ne vois pas comment passer la ligne a ThreadJob
    for (int i = 0; i < number; i++)
    {
        clients[i] = new wsaiWebServLocal.WSAI();
        ParameterizedThreadStart starter = new ParameterizedThreadStart(ThreadJob);
        threads[i] = new Thread(starter);
    }
     
    for (int i = 0; i < number; i++)
    {
        threads[i].Start(i);
    }
     
    for (int i = 0; i < number; i++)
    {
        threads[i].Join();
    }
     
    //le job
    static void ThreadJob(object index)
    {
        clients[(int)index].AiNor("demo", "demo", "1", "test")
    }
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Cette discussion devrait apporter des solutions: http://www.developpez.net/forums/d12...ultithreading/

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Multi-threading: Gestion de l'UI et de WebServices.
    Par Ephismen dans le forum Silverlight
    Réponses: 18
    Dernier message: 01/09/2010, 21h17
  2. Réponses: 1
    Dernier message: 31/05/2010, 17h27
  3. [C# 1.1] Comment gérer l'appel en multi-threading ?
    Par rastali dans le forum Services Web
    Réponses: 7
    Dernier message: 23/05/2006, 11h48
  4. Réponses: 15
    Dernier message: 07/07/2005, 11h05

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