2011-12-22 138 views
-1

我在Windows中创建了一项服务,并在注册表中设置了enteries,以便服务在登录时自动启动。如何确保我的服务始终处于运行状态

现在的问题是,在任务管理器 - >服务领域,我服务的状态正在运行日志后只有2-3分钟。

这个时候我的服务状态变为停止后,它永远不会再切换到运行。 它也没有做它的指定工作。

我想知道在什么注册表更改或可以由该服务的属性,以确保服务始终运行。

+0

如果服务停止运行,这意味着它的所有线程都已经退出,无论是故意或因未处理的错误条件。因此,这是代码中的错误,而不是必须在Windows中设置的内容,我们无法仅从描述中修复它。在事件日志中是否有任何消息:您的服务中有未处理的错误? – 2011-12-22 12:50:06

+0

没有,也不应该有。如果管理员想要阻止它呢?与其他人所建议的为什么会停止交易。然后确保你的消费者能够正确地发现它不在那里,并给予客户解决问题的线索。 – 2011-12-22 12:59:16

回答

0

有机会,你得到它正在关闭的过程中未处理的异常。

你需要记录添加到您的Windows服务 - 东西,将所有的异常写入到事件日志是做一个相当普遍的事情。

这将让你明白为什么服务停止。在这一点上,你希望有足够的信息来解决编码错误。

我想知道在什么注册表更改或可以由该服务的属性,以确保服务始终运行。

那么,假设问题与您的服务,没有配置,将有所帮助。

+0

Thanx所有的答复..其实我不知道如何,但现在当我重新启动我的系统,我的服务并没有启动。首先它的状态是'开始',然后它直接变成'已停止'当我看着EventViewer时,它说'该服务没有及时响应启动或控制请求'EventID:7000和 – 2011-12-22 14:50:39

+0

和 '在等待KeyLogger服务连接时出现超时(30000毫秒)'与EventID:7009 任何帮助都很受赞赏 – 2011-12-22 14:57:10

+0

@PankajVatsa - 什么是KeyLogger服务?它没有开始。 – Oded 2011-12-22 14:58:09