Timer dans un service [Résolu]

Signaler
Messages postés
51
Date d'inscription
mercredi 22 septembre 2004
Statut
Membre
Dernière intervention
10 mars 2008
-
Messages postés
44
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
20 novembre 2008
-
Bonjour à tous,

J'essai d'utiliser un timer dans un service windows. Le problème que le timer n'a pas l'air de se déclancher.

Je joint mon code si une bonne âme aurait la solution à mon problème.

Merci d'avance.

Imports System.Net.Mail.SmtpClient

Public Class ControleEdi

    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.
        Timer.Enabled = True
        Timer.Start()

    End Sub

    Protected Overrides Sub OnStop()
        ' Ajoutez ici le code pour effectuer les destructions nécessaires à l'arrêt de votre service.
    End Sub

    Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
        Dim client As Net.Mail.SmtpClient
        Dim message As Net.Mail.MailMessage

        client = New Net.Mail.SmtpClient("xxx.xxx.xxx.xxx", "xx")
        message = New Net.Mail.MailMessage("gdt@xxx.fr", "gdt@xxx.fr")
        message.Subject = "EnvoiTestService"
        message.Body = "Attention ça marche pas"
        client.Send(message)
    End Sub
End Class

Youpitralalalalere

5 réponses

Messages postés
1
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
20 novembre 2008

Bonjour,

Ayant le même problème, et après une petite recherche sur la toile, voici un petit extrait :

".Net includes two completely separate timers:  system.windows.forms.timer<wbr> and system.timers.timer.  You're probably using a forms timer, which is somewhat bound to the UI thread.  Try using a system.timers.timer instead.  It works pretty much the same, but has an elapsed event instead of a tick event."

Fallait le savoir ;-)

Bone journée !

Crapoutaux</wbr>
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut,

peut-être l'intervalle du timer?
il s'appelle "timer", tu as renommé? (il devrait s'appeler "timer1")

en pas à pas tu ne passes jamais dans l'évènement _Tick ?
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
51
Date d'inscription
mercredi 22 septembre 2004
Statut
Membre
Dernière intervention
10 mars 2008

Hello,

J'ai bien renommer mon Timer en ... Timer .. mon intervale est de 10000 ms donc si je ne fais pas d'erreur 10 secondes.

Le problème dans le service est que je ne peux pas fair ede pas à pas, car lorsque je lance le débogueur VS me dit : qu'il est impossible de démarrer un service en mode debogueur et qu'il doit etre installer.

Donc j'installe et je desinstalle le service à chaque nouveau test puis je le demerre dans les gestionnaire de service.

Youpitralalalalere
Messages postés
44
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
20 novembre 2008

Salut !

J'ai le même problème que toi : le timer ne se déclenche jamais.
Pour accrocher ton débogage au processus du service, tu as une solution donnée ici, tout en bas : http://webman.developpez.com/articles/dotnet/serviceswindows/vbnet/

Si tu as une solution, je suis preneur pour le déclenchement de ce timer. Je ne vois pas c qui cloche..

Merci beaucoup !

A+

Fabrice, Toulouse
Messages postés
44
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
20 novembre 2008

Salut

Merci Crapoutaux !

Je me doutais d'un truc dans le genre, mais c'est subtil, quand même...

Merci encore !

A+

Fabrice