[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
サーバー ベースのタイマーを使用して、アプリケーションでイベントが発生する定期的な間隔を指定できます。 その後、このイベントを使用して、一定の間隔で処理を行うことができます。 たとえば、1 日 24 時間実行中、週 7 日に維持する必要がある重要なサーバーがあるとします。 タイマーを定期的にサーバーをチェック、重要なシステムが実行されていることを確認使用するサービスを作成できます。 システムが応答していない場合、サービスことができます、サーバーを再起動または管理者に通知を試みます。
注意
サーバーのタイマーの間隔はミリ秒単位で指定します。
Visual Studio .NET Framework での 3 つのタイマー コントロールが存在します。
のツールボックスに追加できるサーバー ベース タイマー]
のツールボックスの [常にある Windows ベースのタイマー、
プログラムで利用可能なスレッドのタイマー
Windows フォーム アプリケーションで用に、Windows ベースのタイマーが最適化されています。 サーバー ベース タイマーは、更新プログラムをサーバー環境で実行する最適化された従来タイマーのです。 スレッドのタイマーは、単純で軽量なタイマー イベントの代わりにコールバック メソッドを使用してスレッド プールのスレッドによって提供されますで。
Win32 アーキテクチャでのスレッドの 2 種類があります。UI スレッドとワーカー スレッド。 UI スレッドはアイドル状態のほとんどの時間を配置し、メッセージ ループに到着するメッセージを待ちます。 メッセージを受信すると処理して次のメッセージが到着する待ちます。 また、ワーカー スレッドはバックグラウンド処理を実行する使用され、メッセージ ループを使用しません。 Windows タイマーと、サーバー ベースのタイマーの両方、Interval プロパティを使用してを実行します。 スレッドのタイマーの間隔が Timer コンストラクターで設定します。 タイマーが向けさまざまな目的は、そのスレッドの処理で evidenced として。
Windows タイマーは、UI スレッドを処理を実行するときに使用される、シングルスレッド環境向けです。 Windows のタイマーの精度は 55 ミリ秒に制限されます。 これら従来のタイマーか必要あるユーザー コード、利用可能な UI メッセージ ポンプがあると常に、同じスレッドから動作別のスレッドに呼び出しをマーシャリングします。 COM コンポーネントのパフォーマンスを有害があります。
サーバー ベース タイマーは、マルチスレッド環境でのワーカー スレッドを使用向けです。 異なるアーキテクチャを使用すると、ため、サーバー ベースのタイマー Windows タイマーよりはるかに正確に可能性のあります。 サーバー タイマーは、発生したイベントを処理にスレッド間で移動できます。
スレッドのタイマーは、メッセージは、スレッドで pumped いないシナリオで役立ちます。 たとえば、Windows ベースのタイマーは、オペレーティング システムのタイマー サポートに依存し、スレッド上でメッセージをポンプするされませんが場合、タイマーに関連付けられたイベントは発生しません。 スレッドのタイマーここでは便利です。
Windows タイマーは System.Windows.Forms 名前空間で、サーバー タイマー、 System.Timers 名前空間にあるありスレッドのタイマーは、 System.Threading 名前空間にあります。
方法 : サーバー ベースのタイマーのインスタンスを作成します。