- 3
- 0
- 约2.24千字
- 约 8页
- 2021-04-03 发布于湖南
- 举报
C# - Wi nd ows 服 务 开
发
一、 VS2012 下开发 Windows 服务
1、 打开 VS2012 ,新建项目,选择 Windows 服务,此处我以开发一个定时自动发送邮
件的服务来做介绍,如下图:
2 、 创建好后,编译器会自动创建一些文件,其中会有一个 Service1 类文件,该文件是
服务的关键,我们可以将其重命名,这里我将其命名为 MainService ,如下图:
3、 在 MainService 的后台代码中会自动创建一些方法,包括服务的启动和停止方法
等,如下图:
4 、 将服务启动时要执行的操作放在 OnStart 方法中,服务停止时要执行的操作放在
OnStop 方法中
5、 在 MainService.cs 设计器中,单击邮件,选择选择添加安装程序,便会生成一个
ProjectInstaller.cs 的文件,如图所示:
6 、 设置 ProjectInstaller.cs 的属性,切换到属性设置界面
(1 ) 选择 serviceInstaller1 ,并设置相应属性如下图所示:
其中: Description 属性用于设置服务安装之后再服务界面上显示的描述信息;
DisplayName 属性用于设置服务安装之后再服务界面上显示的服务名称;
ServiceName 属性用于设置服务的名称,此名称必须与 ServiceBase 类的
ServiceName 属性设置的名称一致,该名称用于系统标识此服务,可以理解成
DisplayName 为 ServiceName 的别名;
StartType 属性用于设置服务的启动方式。
(2 ) 选择 serviceProcessInster1 ,设置其属性如下:
此处主要设置 Account 属性,该属性用来指示运行该服务时的账户类型,一般设置为
LocalSystem 。
7、 到此步一个简单的 windows 服务就创建好了,编译程序会生成一个
EmailService.exe 的可执行文件,接下来便是安装服务了。
Windows 服务的安装有多种方式,比如可以再 cmd 下调用命令来安装,也可以写一个
安装程序来安装,此处介绍使用 bat 批处理来安装。
1、 安装 Windows 服务需要用到 InstallUtil.exe 程序,该程序位于:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319 .NET4.0
C:\Windows\Microsoft.NET\Framework64\v2.0.50727 .NET2.0
2 、 我们可以再批处理命令中直接调用以上目录中的 InstallUtil.exe 程序,也可以将该程
序拷贝到应用程序的目录下,此处我选择奖该程序拷贝到应用程序的目录下,同时将批处理
文件也创建在应用程序的的目录下,如下图所示:
3、 注册服务的批处理命令如下所示:
%~dp0\InstallUtil.exe %~dp0\EmailService.exe
Net Start EmailService -- 这里是安装完成之后启动服务
sc config EmailService start= auto –这里是将服务设置为自动启动
pause
其中 %~dp0 表示批处理所在的目录;
4 、 注销服务的批处理命令如下所示:
%~dp0\InstallUtil.exe /u %~dp0\EmailService.exe
pause
5、 启动服务的批处理命令如下所示:
net start EmailService
pause
6 、 停止服务的批处理命令如下所示:
net stop EmailService
pause
7、 当我们运行注册服务批处理命令之后便会进行服务安装,如果
原创力文档

文档评论(0)