| |
VB.NET - FortgeschritteneWindows Dienst | | | Autor: zumbi | Datum: 02.11.06 12:53 |
| Hallo zusammen
Ich habe einen Windows-Dienst erstellt. Dieser soll Daten aus der Registry auslesen und diese in eine DB schreiben. Leider schreibt er nur "Kein Eintrag" in die DB. Wenn ich den Code debugge funktioniert alles. Was muss ich ändern?
Gruss zumbi
Public Class DemoService
Inherits System.ServiceProcess.ServiceBase
Public Shared Sub Main(ByVal args As String())
Using svc As New DemoService
If Array.IndexOf(args, "-debug") > -1 Then
'Wir sind im Debugmodus
Using f As New Form1
svc.OnStart(args)
Windows.Forms.Application.Run(f)
svc.OnStop()
End Using
Else
'Wir sind im "Normalbetrieb". Anwendung läuf als Windowsdienst
System.ServiceProcess.ServiceBase.Run(svc)
End If
End Using
End Sub
Public Sub New()
MyBase.New()
Me.InitializeComponent()
End Sub
Private Sub InitializeComponent()
'
'DemoService
'
Me.CanShutdown = True
Me.ServiceName = "DemoService"
End Sub
'Wird beim Starten des Dienstes aufgerufen
Protected Overrides Sub OnStart(ByVal args() As String)
MyBase.OnStart(args)
End Sub
'Wird beim Stoppen des Dienstes aufgerufen, aber nicht beim Runterfahren
' von Windows
Protected Overrides Sub OnStop()
MyBase.OnStop()
Dim cn As New MySqlConnection
Try
Dim RKey As String = "Volatile Environment"
Dim BasisKey As Microsoft.Win32.RegistryKey = _
My.Computer.Registry.CurrentUser.OpenSubKey(RKey)
Dim KeyName As String = BasisKey.Name
Dim AppPC As String = My.Computer.Registry.GetValue(KeyName, _
"LOGONSERVER", "Kein Eintrag")
Dim AppName As String = My.Computer.Registry.GetValue(KeyName, _
"NWUSERNAME", "Kein Eintrag")
AppPC = AppPC.Substring(2)
cn.ConnectionString = connstring
cn.Open()
Dim comsql As MySqlCommand = cn.CreateCommand
Dim strText As String = "Dienst gestoppt"
comsql.CommandText = "insert into login_info set benutzername = '" _
& AppName & "', " & _
"client = '" & _
AppPC & "', " & _
"timestamp =" & _
"sysdate(), " & _
"info = '" & _
strText & "'"
comsql.ExecuteNonQuery()
Catch ex As Exception
Finally
cn.Close()
End Try
End Sub
'Wird Runterfahren von Windows aufgerufen, aber nicht beim beim Stoppen des
' Dienstes
Protected Overrides Sub OnShutdown()
MyBase.OnShutdown()
Dim cn As New MySqlConnection
Try
Dim RKey As String = "Volatile Environment"
Dim BasisKey As Microsoft.Win32.RegistryKey = _
My.Computer.Registry.CurrentUser.OpenSubKey(RKey)
Dim KeyName As String = BasisKey.Name
Dim AppPC As String = My.Computer.Registry.GetValue(KeyName, _
"LOGONSERVER", "Kein Eintrag")
Dim AppName As String = My.Computer.Registry.GetValue(KeyName, _
"NWUSERNAME", "Kein Eintrag")
AppPC = AppPC.Substring(2)
cn.ConnectionString = connstring
cn.Open()
Dim comsql As MySqlCommand = cn.CreateCommand
Dim strText As String = "Dienst beendet"
comsql.CommandText = "insert into login_info set benutzername = '" _
& AppName & "', " & _
"client = '" & _
AppPC & "', " & _
"timestamp =" & _
"sysdate(), " & _
"info = '" & _
strText & "'"
comsql.ExecuteNonQuery()
Catch ex As Exception
Finally
cn.Close()
End Try
End Sub
End Class | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|