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 Windows Discussion :

[C#] Service Windows & Timer


Sujet :

Services Windows

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Points : 41
    Points
    41
    Par défaut [C#] Service Windows & Timer
    Bonjour,

    Je suis en plein développement d'un service Windows en C#.

    J'utilise au sein de ce dernier un System.Timers.Timer avec un intervalle de 60000 millisecondes, soit, 1 minute.

    Mon problèmes : L'intervalle entre deux Timer.Elapsed ne cesse d'augmenter !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    2010-10-27 15:40:02,529  Traitement en cours...
    2010-10-27 15:40:07,536  Fin du traitement !
    2010-10-27 15:41:02,542  Traitement en cours...
    2010-10-27 15:41:07,565  Fin du traitement !
    2010-10-27 15:42:02,565  Traitement en cours...
    2010-10-27 15:42:07,573  Fin du traitement !
    2010-10-27 15:43:02,570  Traitement en cours...
    2010-10-27 15:43:07,577  Fin du traitement !
    2010-10-27 15:44:02,579  Traitement en cours...
    2010-10-27 15:44:07,579  Fin du traitement !
    2010-10-27 15:45:02,600  Traitement en cours...
    2010-10-27 15:45:07,607  Fin du traitement !
    [...]
    A terme, ceci a pour effet de décaler de plusieurs secondes puis plusieurs minutes le lancement des traitements...

    Quelqu'un connait-il ce problème ? Quelqu'un aurait-il une solution ?

    Merci !!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    tu peux mettre le timer à 1 seconde et vérifier si le temps entre le dernier lancement et maintenant est supérieur à 1 minute
    si c'est le cas tu lances ton traitement et tu mets la valeur de now dans la variable de vérification

    ou encore mieux, si la différence est supérieur à 59 secondes, tu thread.sleep(la différence de ms)

    voir donc si c'est plus précis ...

    si c'est pas mieux, il te faut surement changer d'OS

    autre piste : un thread avec un while true et un .sleep du temps nécessaire après le traitement (le diagnostics.stopwatch permet de connaitre le temps d'exécution entre 2 points, ou encore se baser sur les dates)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    En effet, le problème rencontré sous Windows 7 ne se produit pas sur un Windows Server 2003 US.

    Merci

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

Discussions similaires

  1. Mon premier service Windows avec timer
    Par OmegA_MRS dans le forum Services Windows
    Réponses: 7
    Dernier message: 20/02/2012, 11h56
  2. [C# .Net 1.1] Service Windows et timer
    Par plasticgoat dans le forum C#
    Réponses: 2
    Dernier message: 11/02/2009, 14h46
  3. Timer inopérant dans service windows
    Par pdgnr dans le forum Windows Forms
    Réponses: 7
    Dernier message: 01/05/2008, 15h38
  4. service windows et timer
    Par migutz dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/03/2008, 10h58
  5. [C#][service windows] problème de débutant avec 1 timer
    Par Nycos62 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/10/2005, 11h22

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