2013-06-21 43 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 =) –

相關問題