- - PR -
【VB.NET】WindowsサービスのTimer制御
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-01-05 20:32
VB.NETでWindowsサービスアプリケーションを2本作成しました。
どちらもTimer1としてSystem.Timers.Timerを使用。 インターバルはサービス1が0.5秒、サービス2が10秒です。 どちらのサービスも下記のようなアプリケーション構造になっており、 Timer1のインターバル間隔でループさせています。 この2つのサービスを同時に立ち上げると、なぜかどちらかのサービス がTimer1.Enabled = True の後、停止してしまいTimer1_Elapsedの先頭に 戻らず止まってしまうのです。 Exceptionに入っているわけでもありません。 何かリソースを共有しているのでしょうか。 以下に2つのサービスのTimerにかかわる部分を記述します。 (処理の内容は違いますが、Timerの制御はまったく同じです) どなたかアドバイスをお願いできないでしょうか。 --------------------------------------------------------------------------- <Public Classの停止> Friend WithEvents Timer1 As System.Timers.Timer <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Timer1 = New System.Timers.Timer() CType(Me.Timer1, System.ComponentModel.ISupportInitialize).BeginInit() <Timer1関数> Private Sub Timer1_Elapsed(ByVal sender As Object, _ ByVal e As System.Timers.ElapsedEventArgs _ ) Handles Timer1.Elapsed Try Timer1.Enabled = False ---メイン処理--- Timer1.Enabled = True ---> ここのデバッグコードを最後に、Timer1の先頭に戻らなくなることがあります。 Catch ex As Exception ---Exp処理--- End Try End Sub |
1