97 lines
4.1 KiB
VB.net
97 lines
4.1 KiB
VB.net
Imports System.ServiceProcess
|
|
Imports System.Threading
|
|
Imports DigitalData.Modules.Logging
|
|
Public Class TCService
|
|
|
|
Private _ThreadNI As New Thread(New System.Threading.ThreadStart(AddressOf Profil_DurchlaufNI))
|
|
Private _ThreadDI As New Thread(New System.Threading.ThreadStart(AddressOf Profil_DurchlaufDI))
|
|
Private oTimerNI As System.Threading.Timer
|
|
Private oTimerDI As System.Threading.Timer
|
|
Public aktivesProfil As ClassNIProfil
|
|
'Private aktivesDokument As WMObject
|
|
Private Shared _Logger As DigitalData.Modules.Logging.Logger
|
|
Protected Overrides Sub OnStart(ByVal args() As String)
|
|
' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge
|
|
' ausführen, damit der Dienst gestartet werden kann.
|
|
ClassLoggerService.Init("", My.Settings.vLogService & "_", True)
|
|
ClassLoggerService.Add("", False)
|
|
ClassLoggerService.Add("###############################################################", False)
|
|
ClassLoggerService.Add("Service Tool Collection wird gestartet! " & Now, False)
|
|
'Den Timer für die Nachindexierung definieren
|
|
Dim oCallbackNI As New TimerCallback(AddressOf TimerNI_Tick)
|
|
oTimerNI = New System.Threading.Timer(oCallbackNI, Nothing, 20000, CInt(My.Settings.NI_Durchlauf_Intervall) * 60 * 1000)
|
|
'Den Timer für den Dateiimport definieren
|
|
Dim oCallbackDI As New TimerCallback(AddressOf TimerDI_Tick)
|
|
oTimerDI = New System.Threading.Timer(oCallbackDI, Nothing, 20000, CInt(My.Settings.DIDurchlauf_Intervall) * 60 * 1000)
|
|
End Sub
|
|
'Tick des Timers für Nachindexierung
|
|
Private Sub TimerNI_Tick(ByVal state As Object)
|
|
ClassNIProfile.Init()
|
|
'ClassLoggerNI.Init("", My.Settings.vlogNIServ & "_", True)
|
|
|
|
Dim profil_id As Integer = 1
|
|
If ClassNIProfile.Profile IsNot Nothing Then
|
|
|
|
Dim resultProfilnamen As String = ""
|
|
For Each profil As ClassNIProfil In ClassNIProfile.Profile
|
|
resultProfilnamen &= "- " & profil.Profilname & vbNewLine
|
|
Next
|
|
|
|
_Logger.Info("Beginn der Nachindexierung : " & Now)
|
|
_Logger.Info("Anzahl der Profile: " & ClassNIProfile.Count)
|
|
_Logger.Info(resultProfilnamen)
|
|
|
|
' Me.startProfileDurchlauf()
|
|
_ThreadNI.Start()
|
|
End If
|
|
|
|
|
|
End Sub
|
|
Private Sub TimerDI_Tick(ByVal state As Object)
|
|
Try
|
|
ClassDIProfile.Init()
|
|
ClassLoggerDI.Init("", My.Settings.vlogDIServ & "_", True)
|
|
Dim profil_id As Integer = 1
|
|
If ClassDIProfile.Profile IsNot Nothing Then
|
|
|
|
Dim resultProfilnamen As String = ""
|
|
For Each profil As ClassDIProfil In ClassDIProfile.Profile
|
|
resultProfilnamen &= "- " & profil.Profilname & vbNewLine
|
|
Next
|
|
|
|
ClassLoggerDI.Add("Beginn des Dateiimport-Durchlaufs : " & Now, False)
|
|
ClassLoggerDI.Add("Anzahl der Profile: " & ClassDIProfile.Count, False)
|
|
ClassLoggerDI.Add(resultProfilnamen, False)
|
|
|
|
' Me.startProfileDurchlauf()
|
|
_ThreadDI.Start()
|
|
End If
|
|
Catch ex As Exception
|
|
EventLog1.WriteEntry("TCService stellte einen Fehler fest '" & _
|
|
ex.Message & "'", EventLogEntryType.Error)
|
|
EventLog1.WriteEntry("TCService Stack Trace: " & _
|
|
ex.StackTrace, EventLogEntryType.Error)
|
|
ClassLoggerService.Add("Fehler in TimerDI_Tick", ex.Message)
|
|
End Try
|
|
End Sub
|
|
Protected Overrides Sub OnStop()
|
|
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
|
|
EventLog1.WriteEntry("TCservice Stopped")
|
|
oTimerNI.Dispose()
|
|
oTimerDI.Dispose()
|
|
ClassLoggerService.Add("Service Tool Collection wurde gestoppt - " & Now, False)
|
|
ClassLoggerService.Add("###############################################################", False)
|
|
End Sub
|
|
Private Sub Profil_DurchlaufNI()
|
|
|
|
End Sub
|
|
Private Sub Profil_DurchlaufDI()
|
|
Try
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
End Class
|