Windows服务或控制台应用程序中的System.Timers.Timer



我正在编写一个 vb.net .net 4.0 应用程序,但在获取计时器时遇到问题。 有人可以帮我告诉我我做错了什么吗?

我已经对主应用程序进行了大量故障排除,以至于我决定尝试让它在新项目中工作,但似乎无法让它工作。

谢谢!

Module Module1
Public Timer As New System.Timers.Timer
Sub Main()

AddHandler Timer.Elapsed, AddressOf Timer_Tick
Timer.AutoReset = True
Timer.Interval = 1000
Timer.Start()

Console.WriteLine("Timer Started")

End Sub
Sub Timer_Tick(source As Object, e As EventArgs)
Console.WriteLine("TimerTick")
End Sub
End Module

您需要确保Main()继续运行,否则您的进程将立即终止。

您可以使用Console.ReadLine()(如果您有控制台(或Thread.Sleep(Timeout.Infinite)

我不知道为什么你的代码不起作用。但是您可以使用函数循环来执行相同的工作。

Module Module1
Sub Main()
Console.WriteLine("Timer Started")
Timer_start()
End Sub

Function Timer_start()
Timer_Tick()
Threading.Thread.Sleep(1000)
End Function

Function Timer_Tick()
Console.WriteLine("TimerTick")                
Timer_start()
End Function
End Module
Sub Main
Timer.Interval = 60000  ' one minute
Timer.Enabled
' do stuff
Do until (Some condition, like a stop flag to stop looping and end program)
System.Threading.Thread.Sleep(10000)
Loop
End
Timer_Elapsed(sender As Object, e As Timers.ElapsedEventArgs) Handles Timer.Elapsed
Timer.enabled = False
' do stuff
Timer.Enabled = True
End Sub

最新更新