Вы всегда можете создать гибрид приложения службы / консоли и использовать приложение консоли в целях тестирования.
Что вам нужно сделать, это примерно так - в вашем 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();
}
Теперь, если вы хотите запустить приложение для проверки его функциональности, просто запустите EXE с параметром командной строки -console
и установите точку останова в методе RunConsole
.