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.