bonjour,
me revoila parmis vous pour un nouveau probleme.
je cherche a executer du code toute les 5 secondes a l'aide d'un service.
voila ma syntaxe :
j'ai fait cette syntaxe a l'aide du msdn. mon soucis est que je rentre dans mon main seulement si j'arrete le service (vous comprendrez que ça n'ai pas tres utile).
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 static void Main() { System.ServiceProcess.ServiceBase[] ServicesToRun; ServicesToRun = new System.ServiceProcess.ServiceBase[] { new MonService() }; System.ServiceProcess.ServiceBase.Run(ServicesToRun); timer.Tick += new EventHandler(TimerEventProcessor); // Sets the timer interval to 5 seconds. timer.Interval = 5000; timer.Start(); while (exitFlag == false) { // Processes all the events in the queue. Application.DoEvents(); } } protected override void OnStart(string[] args) { // Code lancé au demarrage du service timer.Enabled = true; } private static void TimerEventProcessor(Object myObject, EventArgs myEventArgs) { timer.Stop(); // mon code (qui fonctionne) timer.Enabled = true; }
Comment dois-je faire pour accéder au Main avec mon OnStart?
J'ai aussi essayé de mettre mon timer dans mon OnStart mais dans ce cas là le service met un temps infinie a démarrer (ce qui est normale vu que j'ai une boucle infinie).
Il faut absolument que j'arrive a demarrer mon service, et a lui dire de rentrer dans mon Main. Par la suite le service tournera 100% du temps a l'aide de cette boucle infinie. (c'est pas propre mais c'est pour vous simplifier l'exemple)
Merci d'avance
Partager