J'ai créé un service Windows vb.net qui ne fait rien d'autre qu'un ping sur un webservice wcf et qui gère l'envoi d'une requête de maintenance à ce même service Web pendant la nuit. Il fait les deux tâches en utilisant un événement de minuterie. Si le service ne fait que ces deux choses, il dit au démarrage qu'il se ferme parce qu'il est inactif. Le thread de service Windows a besoin de quelque chose à faire.Arrêt du service Windows en raison de l'inactivité
Quelle est la meilleure façon d'empêcher cet arrêt sans gaspiller les ressources des machines? Ou est-ce que j'ai manqué un réglage sur l'API pour désactiver le test de ralenti?
Protected Overrides Sub OnStart(ByVal args() As String)
Dim keepAliveTimer As New System.Timers.Timer(3600000)
AddHandler keepAliveTimer.Elapsed, AddressOf IsWebserviceAliveHandler
keepAliveTimer.AutoReset = True
keepAliveTimer.Start()
Dim interval As Integer = Me.CalculateInterval(8, 25)
Dim timer As New System.Timers.Timer(interval)
AddHandler timer.Elapsed, AddressOf SendDailyMaintenanceRequestHandler
timer.AutoReset = True
timer.Start()
End Sub
A quoi ressemble votre méthode 'OnStart()'? –
protégées outrepassés Sub OnStart (ByVal As String args()) Dim keepAliveTimer As New System.Timers.Timer (3600000) AddHandler keepAliveTimer.Elapsed, AddressOf IsWebserviceAliveHandler keepAliveTimer.AutoReset = True keepAliveTimer.Start() intervalle Dim Comme integer = Me.CalculateInterval (8, 25) Dim timer As New System.Timers.Timer (intervalle) AddHandler timer.Elapsed, AddressOf SendDailyMaintenanceRequestHandler timer.AutoReset = True timer.Start() End Sub –
Il serait intéressant de voir le code dans SendDailyMaintenanceRequestHandler (ou au moins la structure de celui-ci) –