C#使用Windows Service的简单教程(创建、安装、卸载、调试)

2019-12-30 15:28:05于丽

前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。本文就向大家介绍如何运用C#来创建、安装、卸载、调试Windows Service程序。

一、创建Windows服务

1)用VS新建Windows 服务项目

C#,Windows,Service

2)默认生成文件包括Program.cs,Service1.cs。重命名Service1.cs为你的服务名或删除Service1.cs文件然后创建自己的服务文件,假设取服务名字为MyService。注意:如果是删除Service1.cs文件然后创建自己的服务文件,需要将Program.cs文件里的Service1修改为MyService。

MyService.cs属性窗口中,相关属性如下:

Autolog      是否自动写入系统的日志文件
CanHandlePowerEvent  服务时候接受电源事件
CanPauseAndContinue 服务是否接受暂停或继续运行的请求
CanShutdown        服务是否在运行它的计算机关闭时收到通知,以便能够调用 OnShutDown 过程
CanStop 服务是否接受停止运行的请求
ServiceName 服务名

注意:CanPauseAndContinue和CanShutdown的默认值均为False,要想使服务的OnPause()、OnContinue()、OnShutdown()起作用,需要将CanPauseAndContinue和CanShutdown属性值设置为True。

3)双击MyService.cs服务文件,在左侧设计模式中,右键点击“添加安装程序”(或者在MyService.cs的属性窗口的下方点击添加“添加安装程序”;如果看不到“添加安装程序”的可点链接,可以右键属性窗口,点击“命令(C)”后就会出来了。注意:是属性窗口而不是文件属性窗口),会自动生成Projectinstaller.cs文件以及两个安装组件,如下:

C#,Windows,Service

4)单击“serviceProcessInstaller1”,在其属性窗口中设置Account帐号方式,建议为LocalService(当然也可以Account属性改为 LocalSystem,这样,不论是以哪个用户登录的系统,服务总会启动)。

5)单击“serviceInstaller1”,在其属性窗口设置属性:

  a)Description 服务描述,直接显示到Windows服务列表中的描述;

  b)DisplayName 服务显示名称,直接显示到Windows服务列表中的名称;