confusedMind
confusedMind

Reputation: 2653

Windows service not executing after first run

I have create a windows service in VS 2010. I install it and also run it at the same time and set startup type to Automatic . I see it running fine through EventViewer and is successfully completed.

But after that i done see EventViewer showing anything, even if the work is doen it still should check DB and skip as all rows done.

So what is the issue ?

DO i need to make it an infinite loop in the service to keep it running?

Something like

While (ROWs in DB ! = null) ?

Because it does not seem it is working like task scheduler!

Upvotes: 0

Views: 303

Answers (1)

jor
jor

Reputation: 2157

Yes, you need to do a loop with the possibility to break it again. Example service (VB.NET):

Public Class MyService

    Protected Property IsRunning As Boolean = False

    Protected Sub OnStart(args() As String)
        IsRunning = True
        ' make the loop function run asynchronously
        Dim t As New System.Threading.Thread(AddressOf MyLoopFunction)
        t.Start()
    End Sub

    Protected Sub MyLoopFunction
        While IsRunning

            ' here comes your code ...

            ' sleep for a second for better CPU freedom
            System.Threading.Thread.Sleep(1000)
        End While
    End Sub

    Protected Sub OnStop()
        IsRunning = False
    End Sub

End Class

Upvotes: 1

Related Questions