Microsoft Windows 服務

來源:互聯網
上載者:User

標籤:

  Microsoft Windows 服務(即,以前的 NT 服務)使您能夠建立在它們自己的 Windows 會話中可長時間啟動並執行可執行應用程式。這些服務可以在電腦啟動時自動啟動,可以暫停和重新啟動而且不顯示任何使用者介面。這種服務非常適合在伺服器上使用,或任何時候,為了不影響在同一台電腦上工作的其他使用者,需要長時間運行功能時使用。還可以在不同於登入使用者的特定使用者帳戶或預設電腦帳戶的安全上下文中運行服務。

 

開發

  0.建立服務 1.安裝 2.啟動 3.停止 4.卸載 5.監控服務

 

建立服務:

1.  在c#中建立1個服務很簡單,只要繼承ServiceBase,重寫OnStart和OnStop方法就可以.(最快的是右鍵建立項)

    OnStart方法是服務啟動的時候執行的

    OnStop方法是服務停止的時候執行的

  

2.  通常會用System.Timers.Timer做定時任務處理.

 

安裝:

方式一(手動):

InstallUtil:

1. 開啟Visual Studio .NET命令提示
2. 改變路徑到你項目所在的bin\Debug檔案夾位置(如果你以Release模式編譯則在bin\Release檔案夾)
3. 執行命令“InstallUtil.exe MyWindowsService.exe”註冊這個服務,使它建立一個合適的註冊項。

 

方式二(代碼):

a.ManagedInstallerClass類:

var filePath = Process.GetCurrentProcess().MainModule.FileName(取當前進程檔案路徑)

var cmds = new []{filePath};

//var cmds = new []{"\\u",filePath};

ManagedInstallerClass.InstallHelper(cmds);

 

b.(sc命令是用來與服務控制管理員和服務進行通訊的命令列程式)

var cmd = "create myserver binpath= \""+程式絕對路徑名+"\" displayName= 服務名 start= auto"

Process.Start("sc", cmd);

 

啟動:

方式一(代碼):

a.Process.Start("sc", "start 服務名");

 

方式二(手動):

a.命令提示字元中:net start 服務名

b.運行"services.msc",找到服務名,啟動服務

 

停止:

方式一(代碼):

a.Process.Start("sc", "stop 服務名");

 

方式二(手動):

a.命令提示字元中:net stop 服務名

b.運行"services.msc",找到服務名,停止服務

 

卸載:

方式一(手動):

1. 開啟Visual Studio .NET命令提示
2. 改變路徑到你項目所在的bin\Debug檔案夾位置(如果你以Release模式編譯則在bin\Release檔案夾)
3. 執行命令“InstallUtil.exe /u MyWindowsService.exe”註冊這個服務,使它建立一個合適的註冊項。

 

方式二(代碼):

Process.Start("sc", "delete 服務名");

 

監控:

使用ServiceController來擷取服務狀態或對服務進行控制。

這個類可以擷取服務的狀態,屬性,對服務也可以進行啟動,停止操作

 

Microsoft Windows 服務

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.