2013-06-21 47 views
0

我已经创建了一个C#Windows服务,它做它需要做的事情。一旦完成,服务停止。C#的Windows服务运行,但在过程完成后退出

我需要发生的是服务运行停止。通过这种方式,当另一个数据源可用时,该服务将通过源代码运行,并执行其需要执行的操作。

请提出任何建议。提前致谢。

-Jeff

+2

没有代码,我们不能做太多... – SynerCoder

+0

你可能只把代码放在'onstart'中。这个事件起到触发器的作用:它发生并且你的代码必须继续运行,否则你的服务将停止。你不能在其中放置一个永久循环,因为它必须告诉Windows你的服务运行正常。因此,在'OnStart'中,你可能会启动一个永久运行的线程(或基于条件停止运行)。 –

+0

你在问我们猜测你可能做错了什么。这不是StackOverflow的工作原理。您需要描述问题,发布代码的相关部分,并询问关于该代码的具体问题。 –

回答

3

在Windows服务的主要功能必须在一个循环内运行,因此它会继续运行,直到接收到停止命令。循环的种类并不重要,但服务必须持续工作才能继续运行。另外,循环不能在OnStart方法中运行。创建一个线程来运行你的循环,并从OnStart方法启动线程。

+0

几乎在那里:此循环不能在OnStart内,否则Windows将返回“此服务启动时间过长”。 –

+0

这是正确的,谢谢@AndreCalil – Dustin

+0

不客气。改善你的答案,我会upvote =) –

相关问题