C# 服务如何控制自己的状态?
我有一个从ServiceBase类继承的标准windows服务器 在OnStart方法中,我想在达到服务的主要目的之前检查某些条件 例如:C# 服务如何控制自己的状态?,c#,C#,我有一个从ServiceBase类继承的标准windows服务器 在OnStart方法中,我想在达到服务的主要目的之前检查某些条件 例如: protected override void OnStart(string[] args) { if (condition == false) { EventLog.WriteEntry("Pre-condition not met, service was unable to start"); // TODO: Convert
protected override void OnStart(string[] args)
{
if (condition == false)
{
EventLog.WriteEntry("Pre-condition not met, service was unable to start");
// TODO: Convert service state to "Stopped" because my precondition wasn't met
return;
}
InnitializeService();
}
任何人都有一个服务如何控制自己状态的好例子吗?抛出异常。这将导致服务MMC出错,异常消息和堆栈将自动记录到事件日志中。在这种情况下,我使用ApplicationException 此外,服务将返回到“未运行”状态
如果以后需要停止,可以在ServiceBase上调用stop方法。用户在“计算机管理”MMC应用程序中显示的错误似乎无法在Vista中正确获取异常文本。它显示了以下内容: “您的服务名称在此”服务 在本地计算机上启动,然后 停止。有些服务停止 如果它们不在使用中,则自动执行 通过其他服务或计划 但是,它可以正确地写入事件日志
很酷。谢谢。奇怪,wffm。但是,我是在调试中编译的。也许这造成了不同。干杯