版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/jhycjhyc/article/details/79024192
創建項目,在Windows下選擇Windows服務(.NET Framework)。創建名稱為indowsService_Test,如下圖。
系統默認創建Service1.cs。
打開Serice1.cs的屬性頁,將ServiceName修改為ServiceTest,如下圖:
添加定時器
在vs 主菜單中選“工具”項,再選“選擇工具箱項”,再勾選命名空間為System.Timers的Timer,如下圖:
現在在工具箱中可以看到Timer組件如下圖所示。
將其拖入至Service1設計界面。將timer1的enabled 屬性設置為true,Interval屬性設置為1000。
雙擊timer1,自動生成timer1_Elapsed事件。
添加業務代碼
編輯Service1.cs,引入 System.Threading命名空間並修改代碼如下:
public partial classService1 :ServiceBase { privateThread thdStart; privateint numTimes; public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { thdStart = newThread(newThreadStart(timer1.Start)); thdStart.Start(); } protectedoverridevoid OnStop() { } privatevoid timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { this.timer1.Stop(); numTimes++; string filePath =@"c:\ServiceTest.log"; string strCont =DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") +"第" + numTimes +"次執行。"; System.IO.File.AppendAllText(filePath, strCont); this.timer1.Start(); } }
為WindowsService_Test添加安裝程序
在Service1設計界面下,右鍵彈出菜單,選擇“添加安裝程序”
在serviceProcessInstaller1屬性頁中將Account由User改為LocalSystem,
生成服務
生成項目。
新建一個目錄,將項目的\bin\Debug目錄下生成的所有文件拷貝到該新的目錄,再在該目錄下建兩個批出處理文件,文件名可分別為install.bat和uninstall.bat,內容分別如下:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil.exe /i WindowsService_Test.exe
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil.exe /u WindowsService_Testr.exe
注意:如果由於某種原因而使生成的平台目標設為x86,則命令中的framework64要改成framework.
部署和卸載服務
以部署到windows server 2008服務器為例,先須安裝NDP462-KB3151800-x86-x64-AllOS-ENU.exe即.netframework 4.6.2,如果在內網環境下安裝.net4.6.2,則需要安裝
MicrosoftRootCertificateAuthority2011.cer證書。安裝此證書的過程大楖如下:
1.下載證書:http://go.microsoft.com/fwlink/?LinkID=747875&clcid=0x409;
2.開始-運行-MMC
3.文件-刪除管理單元(Ctrl+M)
4.證書-計算機帳戶(其他的保持默認,無限下一步)。
5.回到窗體,展開:證書-受信任的根證書頒發機構-證書。
6.右擊展開菜單,所有任務-導入
7.選擇下載好的cer文件,然后無限下一步。
NDP462-KB3151800-x86-x64-AllOS-ENU.exe安裝完畢后,將上述的文件夾拷貝到服務器的磁盤上,運行其中的install.bat,然后再打開管理工具-服務,找到WindowsService_Test項,雙擊后點“啟動”即可啟動服務,往后服務啟動時會自動啟動該服務。
要卸載服務,只需要運行上述已經拷貝到服務器的磁盤中的文件夾內的uninstall.bat文件即可。
————————————————
版權聲明:本文為CSDN博主「俱會一處」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jhycjhyc/article/details/79024192