在C#中启动Windows服务
在C#中启动Windows服务
我想启动一个刚刚安装的Windows服务。
ServiceBase[] ServicesToRun; if (bool.Parse(System.Configuration.ConfigurationManager.AppSettings["RunService"])) { ServicesToRun = new ServiceBase[] { new IvrService() }; ServiceBase.Run(ServicesToRun); }
IvrService的代码如下:
partial class IvrService : ServiceBase { public IvrService() { InitializeComponent(); Process myProcess; myProcess = System.Diagnostics.Process.GetCurrentProcess(); string pathname = Path.GetDirectoryName(myProcess.MainModule.FileName); //eventLog1.WriteEntry(pathname); Directory.SetCurrentDirectory(pathname); } protected override void OnStart(string[] args) { string sProcessName = Process.GetCurrentProcess().ProcessName; if (Environment.UserInteractive) { if (sProcessName.ToLower() != "services.exe") { // 在交互式会话中。 Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new IvrInteractive()); IvrApplication.Start(); // 服务的关键函数,在此处启动 return; } } }
我不确定如何启动该服务。使用ServiceController.Start()
吗?但是我已经有了ServiceBase.Run(ServicesToRun)
。它是用于启动服务的吗?
对于代码提示,我当然会感激不尽。