oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010
-
27 mai 2008 à 14:46
oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010
-
28 mai 2008 à 14:36
Bonjour,
J'ai créé un petit service en VB.NET 2008 (framework 3.5) permettant d'afficher un message (je sais, c'est pas propre, mais c'est plus pour le debugging que pour la release...) dès qu'une entrée est ajoutée dans une table particulière d'une base. L'installation se déroule sans problèmes, mais lorsque je veux lancer mon service, j'ai le message suivant :
---------------------------
Services
---------------------------
The AlertSMS service on Local Computer started and then stopped. Some services stop automatically if they have no work to do, for example, the Performance Logs and Alerts service.
---------------------------
OK
---------------------------
Le code est pourtant bien présent et bien placé (si j'en crois toute la doc que j'ai lue). J'ai longuement cherché une solution sur divers forums, en vain...
Je déclare mon timer dans la fonction OnStart(), puis je le lie à la fonction Timer_Tick pour que l'exécution se fasse à intervalle régulier.
Voici le code :
------------------------------------------------------------------------------------------------------------------------------------
Public Class AlertSMS
Protected Overrides Sub OnStart(ByVal args() As String)
Dim time As System.Threading.Timer
Dim callBack As New TimerCallback(AddressOf Timer_Tick)
time = New System.Threading.Timer(callBack, Nothing, 0, 50)
MsgBox("Le service surveille maintenant la table Alert...", MsgBoxStyle.Information, "Service démarré")
End Sub
Public Sub Timer_Tick(ByVal state As Object)
'Parcours de la liste des entrées de la table Alert
Dim allalerts As New DAL.AlertCollection
allalerts.Load()
For Each elem As DAL.Alert In allalerts.GetCollection()
MsgBox("Nouvelle alerte : " + vbCrLf + "Message #" + elem.MsgID, MsgBoxStyle.Exclamation, "Attention")
'*** Traitement de l'alerte ***
elem.Delete()
elem.Save()
Next
End Sub
End Class
------------------------------------------------------------------------------------------------------------------------------------
oo7jb5
Messages postés45Date d'inscriptionjeudi 8 mars 2007StatutMembreDernière intervention 3 mars 2010 28 mai 2008 à 14:36
Salut et merci pour ta réponse, en fait j'ai trouvé d'où venait mon problème. D'un il fallait enlever la MsgBox, car il n'apprécie pas trop. Ensuite mon principale problème venait que mon service avait un "Account " différent de User ce qui empêcher le service de bien fonctionner pour accéder à la base de données apparement. Voila j'espère avoir été assez clair.