C# C-是否可以将单个.exe作为应用程序(单击时)或服务(由windows运行时)使用
如果某个应用程序作为服务注册,但如果双击它,则只需启动一个常规的交互式应用程序,那么它是否可以作为服务运行?是。您可以使用Environment.UserInteractive变量。您需要在服务周围创建一个小包装,以公开OnStart和OnStop方法,因为它们是受保护的C# C-是否可以将单个.exe作为应用程序(单击时)或服务(由windows运行时)使用,c#,service,window,C#,Service,Window,如果某个应用程序作为服务注册,但如果双击它,则只需启动一个常规的交互式应用程序,那么它是否可以作为服务运行?是。您可以使用Environment.UserInteractive变量。您需要在服务周围创建一个小包装,以公开OnStart和OnStop方法,因为它们是受保护的 var service = new MyService(); if (Environment.UserInteractive) {
var service = new MyService();
if (Environment.UserInteractive)
{
service.Start(args);
Console.WriteLine("Press any key to stop program");
Console.Read();
service.Stop();
}
else
{
ServiceBase.Run(service);
}
包装类确保扩展ServiceBase
对。您可以使用Environment.UserInteractive变量。您需要在服务周围创建一个小包装,以公开OnStart和OnStop方法,因为它们是受保护的
var service = new MyService();
if (Environment.UserInteractive)
{
service.Start(args);
Console.WriteLine("Press any key to stop program");
Console.Read();
service.Stop();
}
else
{
ServiceBase.Run(service);
}
包装类确保扩展ServiceBase