我創建了一個名爲ProxyMonitor的Windows服務,而我目前正在按照我想要的方式安裝和卸載服務。Windows服務不斷運行
所以我執行的應用程序,像這樣:
C:\\Windows\\Vendor\\ProxyMonitor.exe /install
漂亮的自我解釋,然後我到services.msc
和並啓動該服務,但我這樣做時,我得到了以下信息:
本地計算機上的代理監視器服務已啓動,然後停止。如果沒有工作要做,比如一些服務自動停止,性能日誌和警報服務
我的代碼看起來像這樣:
public static Main(string[] Args)
{
if (System.Environment.UserInteractive)
{
/*
* Here I have my install logic
*/
}
else
{
ServiceBase.Run(new ProxyMonitor());
}
}
然後ProxyMonitor類中我有:
public ProxyMonitor()
{
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
running = true;
while (running)
{
//Execution Loop
}
}
和onStop()
我只是將running
變量更改爲false
;
我需要怎麼做才能使服務不斷活躍,因爲我將需要監控網絡我需要跟蹤變化等
更新:1
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
Thread = new Thread(ThreadWorker);
Thread.Start();
}
在ThreadWorker
我有ProxyEventLogger.WriteEntry("Main thread entered")
哪些不會被解僱。
`線程=新主題(ThreadWorker)`不會工作 – 2011-02-01 16:10:05
工作完全正常,爲什麼你認爲它會失敗? – RobertPitt 2011-02-01 22:37:45