2025-06-06 13:25:50 +02:00

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