Отключение служб Windows
Привет,
Я написал простой сервис, который подключается к серверу mysql.
В субрутине "OnStart" служба пытается подключиться к БД и запустить таймер.
моя проблема заключается в том, что при остановке ПК служба не останавливается, и субрутино "OnStart" не выполняется при следующем включении. Как я могу решить эту проблему? Я прилагаю код, написанный в сервисе.
Спасибо
Semola73
Что я уже пробовал:
Imports System.IO Imports System.Timers Public Class OutlookService Protected Overrides Sub OnStart(ByVal args() As String) ' Inserire qui il codice necessario per avviare il proprio servizio. Il metodo deve effettuare ' le impostazioni necessarie per il funzionamento del servizio. AddHandler Microsoft.Win32.SystemEvents.SessionEnded, AddressOf OnSessionEnded Dim swc_log As Boolean Dim ws_ini As New iniParser("C:\UsrPrograms\OutlookService\OutlookService.ini") swc_log = Boolean.Parse(ws_ini.getValue("GENERALE", "SWC_LOG")) ws_log = New Log(swc_log) ws_server = ws_ini.getValue("GENERALE", "SERVER") ws_username = ws_ini.getValue("GENERALE", "USER_NAME") ws_password = ws_ini.getValue("GENERALE", "USER_PWD") ws_database = ws_ini.getValue("GENERALE", "DATABASE") ws_OSQL = New OutlookSQL() If ws_OSQL.ConnectDb(ws_server, ws_username, ws_password, ws_database) Then ws_iniDb = New IniParserDB PathDocuments = ws_iniDb.getParam("GENERALE", "PATH_DOCUMENTS").getValore PathDropbox = ws_iniDb.getParam("GENERALE", "PATH_DROPBOX").getValore TempDir = ws_iniDb.getParam("GENERALE", "TEMP_DIR").getValore Try Boolean.TryParse(ws_iniDb.getParam("GENERALE", "DEBUG").getValore, swc_debug) Catch ex As Exception swc_debug = False End Try ws_timer = New Timer() AddHandler ws_timer.Elapsed, AddressOf OnTimedEvent ws_timer.Interval = CDbl(ws_iniDb.getParam("GENERALE", "INTERVAL").getValore) * 1000 ws_timer.Enabled = True End If End Sub Private Sub OnSessionEnded() ws_log.ScriviLog("Windows Shutdown - Stop Service") Me.Stop() End Sub Protected Overrides Sub OnShutdown() Me.Stop() End Sub Protected Overrides Sub OnStop() ws_timer.Enabled = False ws_OSQL.Dispose() ws_OSQL = Nothing ws_log.Flush() ws_log.Dispose() ws_log = Nothing End Sub Private Sub OnTimedEvent() ws_log.ScriviLog("Try to analize files in: " & TempDir) For Each myFilename In Directory.GetFiles(TempDir) ws_log.ScriviLog(" Found file to elaborate: " & myFilename) Dim OutEng As New OutlookEngine(myFilename) Next End Sub