Gewusst wie: Überwachen serverbasierter Zeitgeber
Aktualisiert: November 2007
Die Timer-Komponente löst auf der Grundlage des von Ihnen angegebenen Intervalls regelmäßig ein Elapsed-Ereignis aus. Durch dieses Ereignis können erforderliche Verarbeitungsschritte ausgeführt werden. Angenommen, eine Anwendung für Onlinebestellungen übermittelt kontinuierlich Bestellungen an eine Datenbank. Der Dienst zur Kompilierung der Lieferanweisungen verarbeitet die Bestellungen im Batchmodus und nicht einzeln. In diesem Fall könnten Sie einen Zeitgeber verwenden, der alle 30 Minuten eine Batchverarbeitung startet.
So erstellen Sie einen Handler für das Elapsed-Ereignis
Erstellen Sie eine Instanz der Timer-Komponente, und legen Sie die erforderlichen Eigenschaften fest. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Instanzen für serverbasierte Zeitgeber.
Verknüpfen Sie den Ereignishandler, myTimer_Elapsed, mit dem Elapsed-Ereignis. Weitere Informationen hierzu finden Sie unter Behandeln von Ereignissen. Der Code muss wie folgt aussehen:
AddHandler myTimer.Elapsed, New _ System.Timers.ElapsedEventHandler(AddressOf Me.myTimer_Elapsed)
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
Hinweis:
Weitere Informationen über diese Syntax finden Sie unter Erstellen von Ereignishandlern in Windows Forms.
Erstellen Sie die myTimer_Elapsed-Prozedur, und definieren Sie den Code für die Verarbeitung des Ereignisses.
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!"); }
Der folgende Code veranschaulicht, wie Sie eine Timer-Komponente erstellen, durch die alle fünf Sekunden ein Ereignis ausgelöst und ein Meldungsfeld angezeigt wird, das Sie auf das Ereignis aufmerksam macht:
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!"); }
Siehe auch
Aufgaben
Gewusst wie: Erstellen von Instanzen für serverbasierte Zeitgeber
Konzepte
Einführung in serverbasierte Zeitgeber
Referenz
Übersicht über die Timer-Komponente (Windows Forms)