1. #1
    Membre régulier Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : septembre 2010
    Messages : 116
    Points : 86
    Points
    86

    Par défaut Timer dans Service Windows

    Bonjour à tous,

    J'ai développé une application il y a quelques temps (qui fonctionne parfaitement) que j’exécute via une tâche planifiée.
    J'aimerais maintenant aller un peu plus loin, et créer un service qui m’exécute mon application toute les minutes.

    J'ai crée un service en c# sous visual studio 2012 avec le code suivant dans mon service1.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            protected override void OnStart(string[] args)
            {
                Process.Start("c:\\MyApp\\MyApp.exe");
            }
    L'application démarre parfaitement, mais naturellement ne se relance pas toutes les minutes.

    J'ai donc essayé d'ajouter un timer dans mon service1.cs[Design], dans les propriétés je l'ai activé par défaut, et configuré mon timer à 60000ms.
    et j'ai modifié mon code comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    protected override void OnStart(string[] args)
            {
                timer1.Start();
            }
     
            protected override void OnStop()
            {
            }
     
            private void timer1_Tick(object sender, EventArgs e)
            {
                Process.Start("c:\\MyApp\\MyApp.exe");
            }
    Et là mon application ne démarre plus du tout.
    Je n'arrive pas identifier mon erreur dans l'utilisation de mon timer pour exécuter mon application.

    Auriez-vous une idée sur l'erreur que j'ai commis?

    Merci de votre aider.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    12 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 12 938
    Points : 23 367
    Points
    23 367

    Par défaut

    quel type de timer ? (il y en a 3 ou 4 dans le Framework)

    le Windows.forms.timer ne peut pas etre utilisé dans un service, soit threading.timer soit timers.timer

    soit démarrer un thread qui fait un while true avec un thread.sleep(60000)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

    - En recherche de poste dans le 63 -

  3. #3
    Rédacteur/Modérateur

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 543
    Points : 5 275
    Points
    5 275
    Billets dans le blog
    5

    Par défaut

    Bonjour,

    Il nous faudrait plus de code pour aider. Le code complet du service, ainsi que le code généré (pour voir comment est initialisé le timer).

    Lire aussi l'article que j'ai écrit sur la réalisation de tâches périodiques. Cela pourrait donner quelques pistes...
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

Discussions similaires

  1. Crypto et WCF dans Service Windows
    Par maxdwarf dans le forum Services Web
    Réponses: 1
    Dernier message: 09/04/2010, 07h27
  2. Timer avec service windows
    Par Mathew77 dans le forum C#
    Réponses: 2
    Dernier message: 28/12/2009, 12h46
  3. Timer dans un Windows Service
    Par Identifiant dans le forum C#
    Réponses: 5
    Dernier message: 26/05/2009, 16h28
  4. Timer inopérant dans service windows
    Par pdgnr dans le forum Windows Forms
    Réponses: 7
    Dernier message: 01/05/2008, 16h38
  5. Evènement Firebird dans service Windows
    Par VLDG dans le forum Firebird
    Réponses: 8
    Dernier message: 09/08/2007, 23h28

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