Einführung in serverbasierte Zeitgeber

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Serverbasierte Zeitgeber können Sie ein periodisches Intervall an dem ein Ereignis ausgelöst wird, in der Anwendung angeben. Sie können dieses Ereignis, um reguläre Verarbeitung dann behandeln. Genommen Sie an, Sie über einen kritischen Server verfügen, der unter 24 Stunden am Tag und sieben Tage die Woche aufbewahrt werden müssen. Sie konnte einen Dienst erstellen, der einen Zeitgeber, verwendet um in regelmäßigen Abständen überprüfen den wichtigen Server um sicherzustellen, dass das System ausgeführt wird. Wenn das System nicht reagiert, kann der Dienst versucht, starten Sie den Server oder einen Administrator benachrichtigen.

Hinweis

Die Intervalle für Serverzeitgeber wird in Millisekunden angegeben.

Server Zeitgeber, Windows-Zeitgeber und Thread-Zeitgeber

Es gibt drei Zeitgebersteuerelemente in Visual Studio und .NET Framework:

  • Eine serverbasierte Zeitgeber, die Sie hinzufügen können, zu der Toolbox

  • Ein Windows-Zeitgeber, die immer in der Toolbox ist

  • Ein Threadzeitgeber, der programmgesteuert verfügbar ist

Der Windows-Zeitgeber ist für die Verwendung in Windows Forms-Anwendungen optimiert. Der serverbasierte Zeitgeber ist ein Update des herkömmlichen Zeitgebers, die über zum Ausführen in einer Serverumgebung optimiert wurde. Der Threadzeitgeber ist ein einfacher, kompakter Zeitgeber, der anstelle von Ereignissen Rückrufmethoden verwendet und wird von Threadpool-Threads bedient.

Es gibt zwei Arten von Threads im Win32-Architektur: UI-Threads und Arbeitsthreads. UI-Threads befinden sich im Leerlauf die meiste Zeit und warten Sie Nachrichten in deren Meldungsschleifen eingehen. Nachdem Sie eine Meldung angezeigt wird, diese behandelt und warten Sie für die nächste Nachricht empfangen. Alternativ Arbeitsthreads für die Hintergrundverarbeitung verwendet werden und verwenden keine Meldungsschleifen. Der Windows-Zeitgeber und der serverbasierte Zeitgeber unter Verwendung einer Eigenschaft Interval ausgeführt. Das Intervall des Zeitgebers Thread ist im Timer-Konstruktor festgelegt. Die Zeitgeber sind für unterschiedliche Zwecke ausgelegt, wie durch die Behandlung von Threads sehen:

  • Der Windows-Zeitgeber ist für eine Singlethread-Umgebung konzipiert, in denen UI-Threads für die Verarbeitung verwendet werden. Die Genauigkeit der Windows-Zeitgebern ist auf 55 Millisekunden beschränkt. Diese traditionellen Zeitgeber müssen der Benutzercode haben eine UI-Meldungsverteilschleife verfügbar und immer aus dem gleichen Thread ausgeführt werden, oder den Aufruf auf einem anderen Thread gemarshallt. Für eine COM-Komponente würde dies nachteilige Leistung sein.

  • Der serverbasierte Zeitgeber ist für die Verwendung mit Arbeitsthreads in einer Multithreadumgebung entwickelt. Da Sie eine andere Architektur verwenden, haben serverbasierte Zeitgeber viel genauer als Windows-Zeitgebern. Serverzeitgeber können zwischen Threads wechseln, um die ausgelösten Ereignisse zu behandeln.

  • Der Threadzeitgeber ist in Szenarien, in denen Nachrichten nicht auf dem Thread pumped, nützlich. Beispielsweise der Windows-Zeitgeber basiert auf Betriebssystem-Zeitgeber-Unterstützung und wenn Nachrichten nicht auf dem Thread pumping sind, wird der Zeitgeber zugeordnete Ereignis findet nicht statt. Der Threadzeitgeber ist in diesem Fall sinnvoller.

Der Windows-Zeitgeber befindet sich in der System.Windows.Forms -Namespace, der Server-Zeitgeber befindet sich im Namespace System.Timers und der Threadzeitgeber befindet sich im Namespace System.Threading.

Siehe auch

Aufgaben

SO WIRD'S GEMACHT: Erstellen von Instanzen für serverbasierte Zeitgeber

SO WIRD'S GEMACHT: Behandeln Sie serverbasierte Zeitgeber

Referenz

Übersicht über das Timer-Komponente (Windows Forms)

Konzepte

Programmierarchitektur für Zeitgeber

Zeitgeber

Der verwaltete Threadpool