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

C# Discussion :

[Service Windows] Empêcher le démarrage


Sujet :

C#

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut [Service Windows] Empêcher le démarrage
    Bonjour,

    j'ai développé un petit service windows en c# sous VS2005.
    Il a besoin de fichiers de paramétrage...
    Et je voudrais, si ces fichiers ne sont pas présents, empêcher le démarrage de mon service...
    Comment faire?
    Je vérifie la présente des fichiers dans le constructeur de mon service,
    y aurait-il un moyen, à ce moment, d'empêcher l'exécution de la méthode OnStart ?...

    merci

  2. #2
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Bien sûr, dans ta méthode OnStart :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try
    {
            //ton code d'initialisation
            if( !File.Exists("xxxx") )
                   throw new MissingConfigFileException("manque fichier blabla");  
    }
    catch( MissingConfigFileException  e)
    {
           eventLogger.WriteEntry( "Echec au démarrage " + e.Message, EventLogEntryType.Error);
           throw;
    }
    Tu propages simplement une exception...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    ok,
    donc le fait de lancer une exception et de tomber dans le catch fait que mon service ne sera pas dans l'état 'démarré' ?

  4. #4
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Ah non attention, le catch c'est simplement pour pouvoir logger l'évènement dans le event viewer (ce sera difficile de connaître la cause du non-démarrage sinon).
    C'est la propagation avec le throw qui bloque la mécanique.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    ok,

    par contre, une ptite question
    dans le catch, avant le throw,
    j'ai mis un MessageBox.Show

    et elle ne s'affiche pas, la message box,
    j'ai juste une boite de dialogue qui me dit que mon service a démarré puis s'est arrêté... que certains services peuvent s'arrêter automatiquement s'ils n'ont aucune tâche à effectuer.. blabla...

    c'est normal?...
    comment ça se fait?...

  6. #6
    Inscrit Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Points : 283
    Points
    283
    Par défaut
    Les services ne peuvent pas faire apparaitre des fenêtres.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    ok,

    c'est bizarre quand même qu'il ne me dise pas à la compil...

Discussions similaires

  1. Tomcat 5.5 - Service Windows - Variable de démarrage
    Par Arcann dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 28/01/2008, 10h05
  2. Démarrage Service Windows
    Par Harael dans le forum C#
    Réponses: 6
    Dernier message: 31/05/2007, 18h20
  3. démarrage service windows
    Par vince2005 dans le forum Langage
    Réponses: 3
    Dernier message: 12/09/2006, 13h40
  4. [ANT][Tomcat]Démarrage d'un service windows
    Par ellene dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 06/07/2006, 16h05
  5. Planifier le démarrage d'un service Window
    Par tscoops dans le forum Windows XP
    Réponses: 2
    Dernier message: 29/03/2005, 14h56

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