Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2011
    Messages : 6
    Points : 0
    Points
    0

    Par défaut Service Windows - 1053

    Je viens voir suite à un problème que j'ai depuis plusieurs jours. J'ai codé un service qui se connecte à une base de donnée puis y stock quelque information lié à IRC.

    Au lancement du service que j'ai coder une erreur Windows apparait.

    [SC] StartService échec(s) 1053 :

    Le service n'a pas répondu assez vite à la demande de lancement ou de contrôle.
    Impossible de trouver une solution viable sur internet.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur



    Homme Profil pro Thomas Levesque
    Développeur .NET
    Inscrit en
    février 2004
    Messages
    19 202
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Levesque
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2004
    Messages : 19 202
    Points : 36 674
    Points
    36 674

    Par défaut

    Tu fais quoi dans le OnStart de ton service ? Normalement il ne faut y faire aucun traitement long, cette méthode doit se terminer rapidement sinon le système considère que le service n'a pas démarré correctement.

  3. #3
    Membre éclairé Avatar de _PascalC_
    Homme Profil pro Pascal Chauvet
    Développeur informatique
    Inscrit en
    août 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Nom : Homme Pascal Chauvet
    Âge : 34
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2008
    Messages : 210
    Points : 346
    Points
    346

    Par défaut

    Tu peux procéder de cette manière par exemple :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    private bool _exit;
    private Thread _th;
     
    void OnStart()
    {
       _exit = false;
       _th = new Thread(Run);
       _th.Start();
    }
     
    void Run()
    {
       while (!_exit)
       {
          //.... travail à effectuer
       }
    }
     
    void OnStop()
    {
       _exit = true;
       _th.Join();
    }

  4. #4
    Invité régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2011
    Messages : 21
    Points : 8
    Points
    8

    Par défaut

    Merci PascalC !
    J'avais exactement le même problème et je confirme que ta solution fonctionne.


    [EDIT]je me suis emballé trop vite, ca fonctionne parfaitement pour le lancement du service mais l'erreur reste présente lors de l'arrêt de celui-ci[/EDIT]

  5. #5
    Membre éclairé Avatar de _PascalC_
    Homme Profil pro Pascal Chauvet
    Développeur informatique
    Inscrit en
    août 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Nom : Homme Pascal Chauvet
    Âge : 34
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2008
    Messages : 210
    Points : 346
    Points
    346

    Par défaut

    Si le problème se produit lors de l'arrêt cela veut dire que ton thread principal ne s'arrête pas ou met trop de temps à s'arrêter. Donc soit tu fais en sorte pour que ton thread s'arrête plus vite (si c'est possible), soit tu retire la ligne :
    Code :
    1
    2
     
     _th.Join(); //attend que le thread se termine
    Pascal

  6. #6
    Invité régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2011
    Messages : 21
    Points : 8
    Points
    8

    Par défaut

    Merci pour ta réponse, cela fonctionne parfaitement en supprimant _th.Join();

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •