C# 服務程序 - 調試服務


前言:本篇文章環境是VS2015,win10.如果有任何的差別,請注意

 

1. 創建服務程序

1)用VC創建服務程序,叫做 MyTestWindowsService

image

創建完成之后,可以看到

image

 

2)添加安裝程序

右鍵我們的服務Service,添加安裝程序

image

添加完成之后,可以看到,多了一個ProjectInstaller.cs的類。這里我們可以設置服務的一些屬性

image

 

3)設置服務的屬性

點擊ProjectInstaller.cs,看到

image

首先,我們點擊serviceProcessInstaller1,可以看到

image

Name我們可以設定自己的名字,我們這里Name改成serviceProcessInstallerMyTest。Accout改成LocalSystem。如下:

image

 

然后,點擊serviceInstaller1,可以看到

image

ServiceName是服務名字,StartType是服務啟動方式,我們都做修改,如下:

image

 

 

2. 寫代碼

我們開始在Service1上面寫代碼,下一個測試線程來測試服務。每5秒運行一次

public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            Console.WriteLine("服務啟動");
            new Thread(Run).Start();
        }

        protected override void OnStop()
        {
            Console.WriteLine("服務結束");
        }

        private void Run()
        {
            while (true)
            {
                Thread.Sleep(5000);
            }
        }
    }

注意:

很多人在寫服務程序時,喜歡把自己線程的代碼寫在Proram.cs文件中,這個是不正確的,一般都寫在服務類中的OnStart方法。

因為OnStart方法才是你啟動了服務才要開始干的事情。Proram.cs是安裝服務完成時就開始干事情 了。

 

3. 安裝與啟動服務

1)安裝服務

在調試服務之前,都要安裝服務。

我們打開用來安裝服務程序的util,叫做 InstallUtil.exe。一般都在路徑

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319

image

然后用命令行工具打開上面的路徑

image

運行以下命令安裝(如果要重新安裝,首先卸載,再安裝)

installUtil F:\ProjectWorkspace\C#\MyTestWindowsService\MyTestWindowsService\bin\Debug\MyTestWindowsService.exe

運行以下命令卸載

installUtil /u F:\ProjectWorkspace\C#\MyTestWindowsService\MyTestWindowsService\bin\Debug\MyTestWindowsService.exe

 

可以看到,安裝成功

image

 

安裝完成之后,我們可以到服務中心看到我們的服務ServiceMyTest

image

 

2)啟動服務

上面的界面,右鍵來啟動服務

 

 

4. 開始與VS做調試

1)斷點我們要調試的行

image

2)打開【調試】—>【附加到進程】

可以看到我們的服務,記得選擇【顯示所有用戶的進程】,最后按【附加】按鈕,開始調試

image

 

 

到此,完成調試工作

 

 

可以關注本人的公眾號,多年經驗的原創文章共享給大家。


免責聲明!

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



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