用 vs 2017創建 windows 服務程序


版權聲明:本文為博主原創文章,遵循 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM