public void UninstallWebApp(string applicationInstanceName) { try { string cmd = String.Format("stop apppool {0}", applicationInstanceName); ExecAppcmd(cmd, 5, twoSeconds); ushort i = 0; ApplicationInstanceStatus status = ApplicationInstanceStatus.Unknown; while (ApplicationInstanceStatus.Stopped != status && i < 5) { status = GetApplicationStatus(applicationInstanceName); ++i; } cmd = String.Format("delete apppool {0}", applicationInstanceName); ExecAppcmd(cmd, 5, twoSeconds); cmd = String.Format("delete site {0}", applicationInstanceName); ExecAppcmd(cmd, 5, twoSeconds); } catch (Exception ex) { log.Error(ex); } try { firewallService.Close(applicationInstanceName); } catch (Exception ex) { log.Error(ex); } }
public ApplicationInstanceStatus GetApplicationStatus(string applicationInstanceName) { ApplicationInstanceStatus rv = ApplicationInstanceStatus.Unknown; try { /* * C:\>%windir%\system32\inetsrv\appcmd.exe list apppool /name:DefaultAppPool * APPPOOL "DefaultAppPool" (MgdVersion:v4.0,MgdMode:Integrated,state:Started) */ string state = GetIIsAppPoolState(applicationInstanceName); if (state.IsNullOrWhiteSpace()) { rv = ApplicationInstanceStatus.Deleted; } else { if (state == "started") { rv = ApplicationInstanceStatus.Started; } else if (state == "starting") { rv = ApplicationInstanceStatus.Starting; } else if (state == "stopped") { rv = ApplicationInstanceStatus.Stopped; } else if (state == "stopping") { rv = ApplicationInstanceStatus.Stopping; } else { rv = ApplicationInstanceStatus.Unknown; } } } catch (Exception ex) { log.Error(ex); } return(rv); }
public ApplicationInstanceStatus GetApplicationStatus(string applicationInstanceName) { ApplicationInstanceStatus rv = ApplicationInstanceStatus.Unknown; try { string state = GetIIsAppPoolState(applicationInstanceName); if (state.IsNullOrWhiteSpace()) { rv = ApplicationInstanceStatus.Deleted; } else { if (state == "started") { rv = ApplicationInstanceStatus.Started; } else if (state == "starting") { rv = ApplicationInstanceStatus.Starting; } else if (state == "stopped") { rv = ApplicationInstanceStatus.Stopped; } else if (state == "stopping") { rv = ApplicationInstanceStatus.Stopping; } else { rv = ApplicationInstanceStatus.Unknown; } } } catch (Exception ex) { log.Error(ex); } return(rv); }
private string GetApplicationState(string name) { ApplicationInstanceStatus status = webServerProvider.GetApplicationStatus(name); string rv; switch (status) { case ApplicationInstanceStatus.Deleted: rv = VcapStates.DELETED; break; case ApplicationInstanceStatus.Started: rv = VcapStates.RUNNING; break; case ApplicationInstanceStatus.Starting: rv = VcapStates.STARTING; break; case ApplicationInstanceStatus.Stopping: rv = VcapStates.SHUTTING_DOWN; break; case ApplicationInstanceStatus.Stopped: rv = VcapStates.STOPPED; break; case ApplicationInstanceStatus.Unknown: rv = VcapStates.CRASHED; break; default: rv = VcapStates.CRASHED; break; } return(rv); }