程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> VS創建windows服務其實很簡單

VS創建windows服務其實很簡單

編輯:C#入門知識

用VS做一個windows服務其實很簡單。

下面是一個用VS2010做windows服務的簡單例子和一些注意事項。

1.新建一個windows服務

2.添加代碼

vs會自動生成一些代碼

在Service1.cs中會看到如下代碼

        protected override void OnStart(string[] args)
{
}

protected override void OnStop()
{
}

 其中OnStart為啟動服務時調用的方法;OnStop為停止服務時調用的方法。

每個服務都還有其他方法,比如暫停、恢復等,可以重載基類的方法來實現,如暫停:

        protected override void OnPause()
{
base.OnPause();
}

自己的業務邏輯就可以在這些方法中調用實現。

ps:在做windows服務時常常是要弄一個循環還處理某些業務邏輯,常見的方法是用一個Timer控件,值得注意的是Toolbox中的Timer控件默認是System.Windows.Forms.Timer,顯然在這裡是不會起作用的,這裡可用System.Timers.Timer,可以直接在Toolbox中右鍵添加。

3.添加Installer

這一步很關鍵,在處理完業務邏輯後需添加一個Installer才能使你的windows服務能夠被安裝。

在VS中添加Installer也很簡單,操作如下:

右鍵Service1.cs

再到View Desiger視圖中右鍵

Installer就添加好了。

4.設置服務參數

可以在程序中先給定windows服務的參數

在添加Installer時會自動生成一個ProjectInstaller.cs,在這個文件中有個InitializeComponent方法,如下:

        private void InitializeComponent()
{
this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller();
this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller();
//
// serviceProcessInstaller1
//
this.serviceProcessInstaller1.Password = null;
this.serviceProcessInstaller1.Username = null;
//
// serviceInstaller1
//
this.serviceInstaller1.ServiceName = "Service1";
//
// ProjectInstaller
//
this.Installers.AddRange(new System.Configuration.Install.Installer[] {
this.serviceProcessInstaller1,
this.serviceInstaller1});

}

this.serviceProcessInstaller1.Password = null;
this.serviceProcessInstaller1.Username = null;

為設置服務的登陸賬號密碼,如果不想設置用戶名密碼也可以采用本地系統帳戶運行服務,代碼如下:

 this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;

其他設置也可在此完成。

5.安裝和卸載windows服務

制作完成的windows服務發布後為一個exe文件,要想到目標機器上安裝使用這個服務,可以用微軟提供的installutil工具,通過命令行的方式實現安裝和卸載。

installutil工具在目錄:系統盤:WINDOWSMicrosoft.NETFrameworkv4.0.30319下,運行cmd,輸入

C:WINDOWSMicrosoft.NETFrameworkv4.0.30319installutil xxxx.exe 回車,即可完成windows服務的安裝。

卸載則為輸入

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved