Grz*_*nio 3 .net c# windows-services
我想创建一个控制台exe应用程序,它可以作为独立的应用程序以及Windows服务运行.有可能吗?使用svchost实际上有什么好处?
Ars*_*yan 15
重写你的windows服务的主要方法,如果你使用parametr -c运行它将是控制台应用程序,是的,不要忘记从项目的属性窗口将项目类型更改为控制台
public static void Main(string[] args)
{
Service service = new Service();
if (args.Contains("-c", StringComparer.InvariantCultureIgnoreCase) || args.Contains("-console", StringComparer.InvariantCultureIgnoreCase))
{
service.StartService(args);
Console.ReadLine();
service.StopService();
return;
}
ServiceBase[] ServicesToRun = new ServiceBase[]
{
service
};
ServiceBase.Run(ServicesToRun);
}
Run Code Online (Sandbox Code Playgroud)
StartService和StopService只调用服务的覆盖OnStart和OnStop方法