0

我在 VS 2010 中创建了一个 Windows 服务。我安装它并同时运行它并将startup类型设置为Automatic. 我看到它运行良好EventViewer并成功完成。

但是在那之后我确实看到EventViewer了任何东西,即使工作已经完成,它仍然应该检查数据库并在所有行完成时跳过。

那么问题是什么?

我是否需要使其成为服务中的无限循环以保持其运行?

就像是

虽然(数据库中的行!= null)?

因为它似乎不像任务调度程序那样工作!

4

1 回答 1

1

是的,你需要做一个循环,有可能再次打破它。示例服务(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
于 2013-06-17T15:28:36.217 回答