如何:监视基于服务器的计时器
更新:2007 年 11 月
Timer 组件根据您指定的时间间隔,定期引发一个名为 Elapsed 的事件。您可以处理这个事件来执行必要的处理。例如,假设您有一个联机销售应用程序,它持续向一个数据库投递销售订单。编译要传送的指令的服务成批处理订单,而不是单独地处理每份订单。您可以使用计时器每 30 分钟启动一次批处理。
为 Elapsed 事件创建处理程序
创建 Timer 组件的实例并设置必要的属性以使它可以正常工作。有关更多信息,请参见 如何:创建基于服务器的计时器实例。
将事件处理程序 myTimer_Elapsed 连接到 Elapsed 事件。有关更多信息,请参见使用事件。您的代码应类似于:
AddHandler myTimer.Elapsed, New _ System.Timers.ElapsedEventHandler(AddressOf Me.myTimer_Elapsed)
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
说明: 有关此语法的更多信息,请参见在 Windows 窗体中创建事件处理程序。
创建 myTimer_Elapsed 过程并定义要用来处理事件的代码。
Private Sub myTimer_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) System.Windows.Forms.MessageBox.Show("Elapsed!", _ "Timer Event Raised!") End Sub
private void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { System.Windows.Forms.MessageBox.Show("Elapsed!", "Timer Event Raised!"); }
下面的代码演示如何创建一个 Timer 组件,该组件每 5 秒钟引发一个事件并显示一个对该事件提出警告的消息框:
Private Sub CreateTimer() Dim Timer1 As New System.Timers.Timer() Timer1.Interval = 5000 Timer1.Enabled = True AddHandler Timer1.Elapsed, _ New System.Timers.ElapsedEventHandler(AddressOf Me.Timer1_Elapsed) End Sub Private Sub Timer1_Elapsed(ByVal sender As System.Object, _ ByVal e As System.Timers.ElapsedEventArgs) System.Windows.Forms.MessageBox.Show("Elapsed!", "Timer Event Raised!") End Sub
private void CreateTimer() { System.Timers.Timer Timer1 = new System.Timers.Timer(); Timer1.Enabled = true; Timer1.Interval = 5000; Timer1.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed); } private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { System.Windows.Forms.MessageBox.Show("Elapsed!", "Timer Event Raised!"); }