Bonjour,
J'ai réaliser une application Winform nommé LDAP.SERVER. Celle-ci est très simple je démarre le serveur avec cette application via le code suivant:
A présent mon maitre de stage désire que cette application devienne un service windows donc j'ai créer un service avec le code suivant :
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 Imports Framework Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim t As New AuthManager t.NewFile() 'Nouvelle instante de serveurTcp pour avoir accès a ces méthodes Dim serveur As New ServeurTCP 'On lance la méthode Start pour lancer le serveur ServeurTCP.Start() End Sub End Class
J'ai ensuite utilisé InstallShield pour pouvoir installer le service Windows. Mais il y a un problème une fenêtre s'affiche avec le code suivant :
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
38
39
40
41
42 Imports Framework Public Class LDAP Private Const EvtLogSource As String = "LDAP.SERVER" Private Const EvtLogName As String = "LOG LDAP.SERVER" Sub New() ' Cet appel est requis par le concepteur. InitializeComponent() ' Ajoutez une initialisation quelconque après l'appel InitializeComponent(). 'If Not System.Diagnostics.EventLog.SourceExists(EvtLogSource) Then ' System.Diagnostics.EventLog.CreateEventSource(EvtLogSource, EvtLogName) 'End If EventLog1.Source = EvtLogSource End Sub 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. EventLog1.WriteEntry("In onStart") ServeurTCP.Start() End Sub Protected Overrides Sub OnStop() ' Ajoutez ici le code pour effectuer les destructions nécessaires à l'arrêt de votre service. EventLog1.WriteEntry("In onStop") End Sub Protected Overrides Sub OnShutdown() MyBase.OnShutdown() End Sub Protected Overrides Sub OnPause() MyBase.OnPause() End Sub Protected Overrides Sub OnContinue() MyBase.OnContinue() End Sub End Class
Que dois-je faire ?Impossible de démarrer un service à partir de la ligne de commande ou d'un débogueur. Un service Windows doit tout d'abord être installé (en utilisant installutil.exe), puis démarré avec l'Explorateur de serveurs, l'outil d'administration des services Windows ou la commande NET START.
Cordialement,
Kévin
Partager