我想通过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();
}
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();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货