ServiceBaseは、サービスプログラムの基底となるクラス・・・。
ServiceBase クラス (System.ServiceProcess)
簡単なサービスを作成する・・・。
空のプロジェクトで、
MainClass.csを追加・・・。
参照でSystem.ServiceProcessを追加・・・。
イベントログを出力するので、Systemも追加・・・。
MainClassはServiceBaseを基底クラスとする・・・。
Mainメソッドでは、スタティックなServiceBase.RunメソッドにMainClassインスタンスをnewで生成して渡す・・・。
その前後にイベントログを出力・・・。
サービス開始時OnStartでもイベントログ出力・・・。
サービス停止時OnStopでもイベントログ出力・・・。
コマンドプロンプトを管理者権限で起動・・・。
C:\Project\Cloud\github.com\Sample\dotnet\ServiceBase\ServiceBase\src\ServiceBas e_\ServiceBase_\bin\Debug>sc create ServiceBase_ binPath= C:\Project\Cloud\githu b.com\Sample\dotnet\ServiceBase\ServiceBase\src\ServiceBase_\ServiceBase_\bin\De bug\ServiceBase_.exe [SC] CreateService SUCCESS
sc createコマンドでServiceBase_サービスを追加・・・。
管理ツールのサービスを見ると、
追加されてる・・・。
開始を押すと、
となり、イベントログで、
Run before
OnStart
これは基底クラスServiceBaseにある開始時にイベントログを出力するかのオプションがtrueになっているからかも・・・。
今度は停止してみる・・・。
止まったので、
OnStop
ServiceBaseのやつ・・・。
Run after
C:\Project\Cloud\github.com\Sample\dotnet\ServiceBase\ServiceBase\src\ServiceBas e_\ServiceBase_\bin\Debug>sc delete ServiceBase_ [SC] DeleteService SUCCESS
とすると、
削除されてる・・・。
Sample/dotnet/ServiceBase/ServiceBase/src/ServiceBase_ at master · bg1bgst333/Sample · GitHub