個人採用方法三
只需加一些程式碼判斷與獨立使用即可!
在主要Service程式中獨立的 Start 與 Stop
public void Start(string[] args)
{
this.OnStart(args);
}
public void Stop()
{
this.OnStop();
}
Program.cs中需新增的判斷
if (Environment.UserInteractive)
{
Service1 s = new Service1();
s.Start(null);
Console.WriteLine("服務已啟動,請按下 Enter 鍵關閉服務...");
// 必須要透過 Console.ReadLine(); 先停止程式執行
// 因為 Windows Service 大多是利用多 Thread 或 Timer 執行長時間的工作
// 所以雖然主執行緒停止執行了,但服務中的執行緒已經在運行了!
Console.ReadLine();
s.Stop();
Console.WriteLine("服務已關閉");
}
else
{
//原有程式碼
}
最後在專案的property裡設置輸出類型(Output Type),選擇
Console Application
沒有留言:
張貼留言