我想通过web界面开启本地计算机服务,这时遇到了问题,点击开启服务按钮后,服务开启不了,代码如下,求解释。
public partial class welcome : BasePage
    {
        //private readonly string _serverName = "Media Transmit Server";
        private readonly string _serverName = System.Configuration.ConfigurationManager.AppSettings["VideoServerName"];
        protected void Page_Load(object sender, EventArgs e)
        {
            CheckUserLogin();
            if (!IsPostBack)
            {
                RefreshTime.Enabled = false;
            }
            InitPage();
        }
        private void InitPage()
        {
            InitBtn();
            try
            {
                ServiceController sc = new ServiceController(_serverName);
                switch (sc.Status)
                {
                    case ServiceControllerStatus.Stopped:
                        btnStart1.Enabled = true;
                        mStatus.Text = "已停止";
                        RefreshTime.Enabled = false;
                        break;
                    case ServiceControllerStatus.Running:
                        btnStop1.Enabled = true;
                        mStatus.Text = "正在运行";
                        RefreshTime.Enabled = false;
                        break;
                    case ServiceControllerStatus.StartPending:
                        mStatus.Text = "正在启动";
                        RefreshTime.Enabled = true;
                        break;
                    case ServiceControllerStatus.StopPending:
                        mStatus.Text = "正在停止";
                        RefreshTime.Enabled = true;
                        break;
                    case ServiceControllerStatus.ContinuePending:
                        mStatus.Text = "即将继续";
                        RefreshTime.Enabled = true;
                        break;
                    case ServiceControllerStatus.Paused:
                       mStatus.Text = "已暂停";
                        RefreshTime.Enabled = true;
                        break;
                    case ServiceControllerStatus.PausePending:
                        mStatus.Text = "即将暂停";
                        RefreshTime.Enabled = true;
                        break;
                    default:
                        RefreshTime.Enabled = true;
                        mStatus.Text = "不可用";
                        break;
                }
            }
            catch (Exception)
            {
                string msg = string.Format("打开服务失败,请确认{0}服务是否可用",
                                           System.Configuration.ConfigurationManager.AppSettings["VideoServerName"]);
                Jscript.AjaxAlert(this, msg);
               mStatus.Text = "不可用";
               RefreshTime.Enabled = true;
            }
                    }
        private void InitBtn()
        {
            btnStop1.Enabled = false;
            btnStart1.Enabled = false;
        }        protected void btnStart_Click1(object sender, EventArgs e)
        {
            ServiceController sc = new ServiceController(_serverName);
            if (sc.Status == ServiceControllerStatus.Stopped)
            {                try
                {
                    sc.Start();
                    RefreshTime.Enabled = true;
                    sc.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 0, 5));
                }
                catch (System.TimeoutException)
                {
                    Jscript.AjaxAlert(this, "启动超时!");
                }
                catch (InvalidEnumArgumentException)
                {
                    Jscript.AjaxAlert(this, "启动失败!");
                }
            }
            GC.Collect();
            //Thread.Sleep(1000);
            InitPage();
        }