Anda selalu dapat membuat hibrid aplikasi layanan / konsol, dan menggunakan aplikasi konsol untuk tujuan pengujian.
Yang perlu Anda lakukan adalah sesuatu seperti ini - di program.cs
. Anda , ubah Main
metode untuk menjalankan layanan, atau secara opsional dijalankan sebagai aplikasi konsol:
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);
}
}
dan kemudian pada kelas layanan Anda, yang mewarisi dari ServiceBase
dan memiliki OnStart
dan OnStop
, tambahkan RunConsole
metode seperti ini:
public void RunConsole(string[] args)
{
OnStart(args);
Console.WriteLine("Service running ... press <ENTER> to stop");
//Console.ReadLine();
while (true)
{ }
OnStop();
}
Sekarang jika Anda ingin menjalankan aplikasi untuk menguji fungsinya, cukup luncurkan EXE dengan -console
parameter baris perintah, dan letakkan breakpoint di RunConsole
metode.