サービスとコンソール アプリのハイブリッドをいつでも作成し、テスト目的でコンソール アプリを使用できます。
あなたがする必要があるのは、このようなものです - あなたの program.cs
で 、 Main
を変更します サービスを実行するか、必要に応じてコンソール アプリとして実行する方法:
static class Program
{
static void Main(params string[] args)
{
string firstArgument = string.Empty;
if (args.Length > 0)
{
firstArgument = args[0].ToLowerInvariant();
}
if (string.Compare(firstArgument, "-console", true) == 0)
{
new YourServiceClass().RunConsole(args);
}
else
{
ServiceBase[] ServicesToRun = new ServiceBase[] { new YourServiceClass() };
ServiceBase.Run(ServicesToRun);
}
}
次に、ServiceBase
から継承するサービス クラスで OnStart
を持っています と OnStop
、RunConsole
を追加します 次のような方法:
public void RunConsole(string[] args)
{
OnStart(args);
Console.WriteLine("Service running ... press <ENTER> to stop");
//Console.ReadLine();
while (true)
{ }
OnStop();
}
アプリを実行してその機能をテストする場合は、-console
で EXE を起動します。 コマンド ライン パラメータを指定し、RunConsole
にブレークポイントを設定します。 メソッド。