0
私はWindowsのサービスを.netで開発しました。 5秒ごとに実行する必要があります。サービスをインストールして起動すると、正常に動作します。しかし、しばらくして(1または2日後)時間がかかり過ぎたり、アイドルになったりします。ここに私のスタートアップコード:Windowsサービスのアイドル
protected override void OnStart(string[] args)
{
try
{
processThread = new Thread(new ThreadStart(this.InitTimer));
processThread.Start();
}
catch (Exception failedtoStart)
{
DebugLog.LogAlert(failedtoStart.ToString(), 2);
}
}
protected override void OnStop()
{
timer.Enabled = false;
}
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
if (isStarted)
{
isStarted = false;
[Some function]
isStarted = true;
}
}
catch (Exception ex)
{
DebugLog.LogAlert("Error: " + ex, 1);
}
}
private void InitTimer()
{
try
{
timer = new System.Timers.Timer();
timer.Elapsed += new ElapsedEventHandler(Timer_Elapsed);
timer.Interval = 5000;
timer.Enabled = true;
timer.Start();
}
catch (Exception ex)
{
DebugLog.LogAlert("Error: " + ex, 1);
}
}
もし私が何か間違っていたら私を修正してください。
サービスの開始時にサーバー上にイベントログがあり、その時点でのサーバーの負荷状況を示すログがありますか?コードは私が見る限り良好に見えます。 – Fuzzybear
@MaksimSimkinこれはWebサーバーに関するものです。 Windowsサービスではありません –
[一部の機能]のキーが鍵になることがあります。それは何をするためのものか? –