私はWindowsサービスとスレッド化に少し慣れていないので、ここで明らかな間違いを犯していないことを願っています。C#でさまざまなネットワークメンテナンスタイプのアクティビティを実行するために開発したアプリケーションがあります。アプリケーションはローカルマシンで完全に動作します。Windowsサービスとして実行することにしたので、同じコードを使用すると適切な変更が加えられ、ローカルマシンでも正常に動作します。
ネットワーク上のサーバーに移植すると、問題が発生します。Windows以外のサービスコードも正常に機能し、期待どおりに実行されます。ただし、Windowsサービスコードは何もしないようです。プロセスは正常にインストールされ、正常に開始/停止しますが、コードが実行されていないようです。VisualStudioでWindowsサービスをデバッグする際のヘルプもありがたいです。これが私のOnStartプロシージャのコードで、実行されていないようです。
smThread = new Thread(delegate() { sm.RunServerMonitor(ref run); });
smThread.Start();
dailyThread = new Thread(delegate() { dailyEvents(); });
dailyThread.Start();
Windows以外のサービスコードが機能するため、アクセス許可タイプの問題が発生しているとは思わない。ただし、サービスがリモートでタスクを実行できるようにするために設定する必要のあるアクセス許可が、同じことを行うプレーンなc#コードに必要なアクセス許可とは異なる場合を除きます。 。
ありがとう、マット