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

VB.NET Discussion :

service windows et timer


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut service windows et timer
    J'aimerais démarrer un service à une heure bien définie. J'utilise un timer pour faire ça mais le problème c'est qu'il vérifie toutes les X secondes. Le traitement risque de se faire X fois pendant cette période de temps...Voilà le code :


    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
    33
    34
    35
    36
    37
    Protected Overrides Sub OnStart(ByVal args() As String)
            ' Ajoutez ici le code pour démarrer votre service. Cette méthode doit
            ' démarrer votre service.
            MyTimer = New System.Timers.Timer(5000)
            AddHandler MyTimer.Elapsed, AddressOf OnTimedEvent
            MyTimer.Enabled = True
        End Sub
     
        Protected Overrides Sub OnStop()
     
        End Sub
        Private Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)
     
            If ((Date.Now.Hour = 12) And (Date.Now.Minute = 30)) Then
     
                MyProcessus = System.Diagnostics.Process.GetCurrentProcess
                MyProcessus.PriorityClass = ProcessPriorityClass.Idle
              ts = New ThreadStart(AddressOf HongKongTsuki)
                MyThread = New Thread(ts)
                MyThread.Priority = ThreadPriority.Lowest
                MyThread.Start()
                EventLog.WriteEntry("Démarrage du service test ")
            Else
                EventLog.WriteEntry("Pas questionn de faire le service test")
            End If
     
        End Sub
     
        Private Sub HongKongTsuki()
            Try
                Dim test As New Personne()
     
            Catch ex As Exception
                'MessageBox.Show("Erreur Class Form1 Fct:HongKongTsuki = " & ex.Message)
            End Try
     
        End Sub
    Le process doit absoluement s'effectuer en priorité basse.

    Etant débutant en vb net, je ne sais pas comment je peux gèrer ce genre de dilemme..Si vous avez une idée je vous remercie merci d'avance.
      0  0

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Utilise plutot une tache planifiée, ce n'est pas la peine de créer un programme pour faire ça.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
      0  0

  3. #3
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Utilise System.Threading.Timer
    Avec cette classe tu peux faire en sorte que le timer ne se lance qu'une seule fois à l'heure souhaitée
      0  0

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Merci abelman !
      0  0

Discussion fermée
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. timer dans un service windows
    Par yochima dans le forum C#
    Réponses: 5
    Dernier message: 20/08/2009, 10h57
  3. [C# .Net 1.1] Service Windows et timer
    Par plasticgoat dans le forum C#
    Réponses: 2
    Dernier message: 11/02/2009, 14h46
  4. Timer inopérant dans service windows
    Par pdgnr dans le forum Windows Forms
    Réponses: 7
    Dernier message: 01/05/2008, 15h38
  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