From ce1842eef9ba919fe72be07164718d633db63ec8 Mon Sep 17 00:00:00 2001 From: ruslan Date: Tue, 14 Aug 2012 13:37:51 +0300 Subject: [PATCH] check iis is alive --- .../WPIService.cs | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Server.WPIService/WPIService.cs b/WebsitePanel/Sources/WebsitePanel.Server.WPIService/WPIService.cs index 22e7ca82..00c514a9 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.WPIService/WPIService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.WPIService/WPIService.cs @@ -29,6 +29,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Text; using System.Threading; using Microsoft.Web.PlatformInstaller; @@ -188,9 +189,11 @@ namespace WebsitePanel.Server.WPIService { _installationStatus = EWPIServiceStatus.InstallationComplete; } + + CheckIISAlive(); } - + private void InstallStatusUpdatedHandler(object sender, InstallStatusEventArgs e) { StringBuilder sb = new StringBuilder(); @@ -242,6 +245,27 @@ namespace WebsitePanel.Server.WPIService _statusMessage = sb.ToString(); } } + + private void CheckIISAlive() + { + // run iisreset /start + ProcessStartInfo processStartInfo = new ProcessStartInfo(@"C:\Windows\System32\iisreset.exe", "/start"); + processStartInfo.UseShellExecute = false; + + try + { + using (Process exeProcess = Process.Start(processStartInfo)) + { + exeProcess.WaitForExit(); + Debug.Write("WPIService: iisreset /start returns "+exeProcess.ExitCode); + } + } + catch (Exception ex) + { + Debug.Write("WPIService: iisreset /start exception: "+ex.ToString()); + } + } + #endregion } }