我们有一个用于缓存目的的Windows服务。有没有办法在每次重新启动Windows服务时自动运行应用程序(例如控制台应用程序)。
答案 0 :(得分:0)
这会检查您要查找的服务的状态,在服务状态恢复运行时在while循环中使用它
string machineName = ConfigurationManager.AppSettings["ServiceMachineName"];
string serviceName = ConfigurationManager.AppSettings["ServiceName"];
ServiceController service = new ServiceController( serviceName, machineName );
return service.Status;
使用以下内容启动您的应用:
System.Diagnostics.Process process = new System.Diagnostics.Process();
//process.StartInfo.FileName = @"C:\WINDOWS\system32\iisreset.exe";
process.StartInfo.FileName = "cmd";
process.StartInfo.Arguments = "/C iisreset /STOP";
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
process.WaitForExit();
这样,当应用程序退出循环时,继续寻找进程......