服务器启动失败

Lbulang 2015-09-19 05:34:18
...全文
155 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lbulang 2015-09-21
  • 打赏
  • 举报
回复
引用 8 楼 ajianchina 的回复:
你将"ServiceName"这样一个字符串作为服务名称传进来了,难道你真的服务名称就是这个吗?
服务的名称没错,每次都是启动的时候挂掉。
ajianchina 2015-09-21
  • 打赏
  • 举报
回复
你将"ServiceName"这样一个字符串作为服务名称传进来了,难道你真的服务名称就是这个吗?
ajianchina 2015-09-21
  • 打赏
  • 举报
回复
这里代码没问题,你是用new ServiceController(servername);实例化的,不区分大小写。 你检查一下调用该方法的地方传入的servername,断点跟踪一下,是传入的servername根本就不存在服务名称列表中。
Lbulang 2015-09-21
  • 打赏
  • 举报
回复
引用 4 楼 ajianchina 的回复:
相关代码你没提供,现在只能猜测。 不过,你要检查一下检索服务时所用的NameService名称大小写,大小弄错了,也是找不到服务的,如果是这个问题造成的,全部换成大写或者小写来进行匹配。
private void runService(string servername) { try { ServiceInstaller install = new ServiceInstaller(); ServiceController sc = new ServiceController(servername); ServiceControllerStatus st = sc.Status; switch (st) { case ServiceControllerStatus.StopPending: case ServiceControllerStatus.Stopped: sc.Start(); break; default: break; } sc.WaitForStatus(ServiceControllerStatus.Running, TimeSpan.FromMinutes(0.2)); st = sc.Status;//再次获取服务状态 if (st == ServiceControllerStatus.Running) { btnImgStop.Visible = true; btnImgStart.Visible = true; btnImgStart.Enabled = false; SetServerState(lblServerName.Text); } } catch (Exception e) { MessageBox.Show("启动服务失败" + e.Message); } }
ajianchina 2015-09-20
  • 打赏
  • 举报
回复

foreach (ServiceController s in ServiceController.GetServices())  
{  
	//例如全部换小写进行匹配
	if (s.ServiceName.ToLower() == 你的服务名称.ToLower())  
	{  
		//找到
	}  
} 
ajianchina 2015-09-20
  • 打赏
  • 举报
回复
相关代码你没提供,现在只能猜测。 不过,你要检查一下检索服务时所用的NameService名称大小写,大小弄错了,也是找不到服务的,如果是这个问题造成的,全部换成大写或者小写来进行匹配。
  • 打赏
  • 举报
回复
服务的 OnStart 方法通常要求20几秒之内必须结束。如果你的启动时间可能比较长,那么把它放到一个 Timer 中去异步启动,这样你的 OnStart 在瞬间就执行完毕了。
Lbulang 2015-09-20
  • 打赏
  • 举报
回复
引用 1 楼 ajianchina 的回复:
你需要先安装服务....
已经安装了 ,可以卸载,就是启动不了
ajianchina 2015-09-20
  • 打赏
  • 举报
回复
你需要先安装服务....

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧