【发布时间】:2020-03-04 23:06:16
【问题描述】:
当客户没有许可证时,我想以onStart() 方法停止 Windows 服务。我用service.Stop(),但是不行。
protected override void OnStart(string[] args)
{
try
{
_bridgeServiceEventLog.WriteEntry("new OnStart");
if (LicenseValidetor.ValidCountAndTypeDevices())
{
WsInitializeBridge();
}
else
{
service = new ServiceController("BridgeService");
service.Stop();
_bridgeServiceEventLog.WriteEntry("LicenseValidetor Error");
}
_bridgeServiceEventLog.WriteEntry("end Start");
}
catch (Exception e)
{
_bridgeServiceEventLog.WriteEntry("error In onstart method ");
}
}
【问题讨论】:
-
什么是
service?你确定这行代码被命中了吗? -
嗯。如果它与您正在运行的服务相同,那么只需退出
OnStart方法而不让任何其他线程运行将停止该服务。 -
您是在远程执行此操作吗?还是来自客户端机器?
标签: c# windows-services