C# 写Windows服务
????? 服務是一個運行在后臺的程序,他沒有界面,不能交互,只能孤獨的獨自運行。
在開始->運行->輸入services.msc可以打開服務管理器,這里可以查看和管理服務
很多時候都會用到服務,因為服務簡化了我們的操作,省去了很多人力,最近公司需要同步數據,我也自己寫了個服務,這里把服務的主要程序貼出來,給大家參考,也方便以后自己查閱。
C#服務程序 protected override void OnStart(string[] args){
//啟動timer
//period = ServiceSettings.Default.ServiceTimerIntervalSecond * 1000;
// period = Convert.toint * period;//秒
serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);
}
protected override void OnStop()
{
//停止計時器
EndThing();
serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);
}
protected override void OnContinue()
{
//重新開始計時
serviceTimer.Change(0, period);
}
protected override void OnPause()
{
//停止計時器
EndThing();
serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);
}
public void TimerCallback(object obj)
{
//隔一段時間調用一次
DoThing();
}
serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);
此處,state用于保存狀態,如果不需要,保存狀態,可以傳入null。第三個參數0表示立即調用TimerCallback方法,如果不需要立即調用,可以傳入period。period是計時器的計時間隔,單位為毫秒。
服務寫好后,還得配置,以方便安裝
因此,首先轉到設計視圖中,并選擇屬性窗口(可以按下F4)。
把CanStop和CanShutdown設置為true。在安裝之前,我們必須要安裝一個安裝程序。
右擊設計視圖窗口,然后選擇"Add Installer"。然后,它將顯示ProjectInstaller.cs。在這個文件中,serviceInstaller1和serviceProcessInstaller1都存在。轉到serviceProcessInstaller1屬性處:
· 把Account設置為LocalSystem。
· 然后,轉到serviceInstaller1屬性處。
· 把DisplayName和ServiceName設置為Monitoring。
· 設置啟動類型(StartType)為automatic。
????? 服務寫好了,還需要注冊,不然不會運行,方法如下:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil? Path
方法卸載的方法:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil -u Path
本人長期代人寫DEMO,功能點DEMO、入門教程等,如果有需要的可以聯系我
轉載于:https://www.cnblogs.com/_fyz/archive/2010/10/29/1864378.html
總結
以上是生活随笔為你收集整理的C# 写Windows服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实木多层板做柜子大概多少钱一平米
- 下一篇: 50部两小时以上的电影大约是多少G?