Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }