欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.Net开发Windows服务

程序员文章站 2022-06-10 13:01:51
2018-08-23 根据别人的整理 开发Windows服务 一、 VS2012下开发Windows服务() 1、 打开VS2012,新建项目,选择Windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图: 2、 创建好后,编译器会自动创建一些文件,其中会有一个Service1类文 ......

2018-08-23 根据别人的整理

开发windows服务

一、 vs2012下开发windows服务()

1 打开vs2012,新建项目,选择windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图:

 .Net开发Windows服务

 

2 创建好后,编译器会自动创建一些文件,其中会有一个service1类文件,该文件是服务的关键,我们可以将其重命名,这里我将其命名为mainservice,如下图:

 .Net开发Windows服务

 

3 mainservice的后台代码中会自动创建一些方法,包括服务的启动和停止方法等,如下图:

 .Net开发Windows服务

 

 

4 将服务启动时要执行的操作放在onstart方法中,服务停止时要执行的操作放在onstop方法中

5 mainservice.cs设计器中,单击邮件,选择选择添加安装程序,便会生成一个projectinstaller.cs的文件,如图所示:

 .Net开发Windows服务

 

6 设置projectinstaller.cs的属性,切换到属性设置界面

1 选择serviceinstaller1,并设置相应属性如下图所示:

 .Net开发Windows服务

 

其中:description属性用于设置服务安装之后再服务界面上显示的描述信息

      displayname属性用于设置服务安装之后再服务界面上显示的服务名称;

      servicename属性用于设置服务的名称,此名称必须与servicebase类的servicename属性设置的名称一致,该名称用于系统标识此服务,可以理解成displayname为servicename的别名;

      starttype属性用于设置服务的启动方式。

2 选择serviceprocessinster1,设置其属性如下:

 .Net开发Windows服务

 

此处主要设置account属性,该属性用来指示运行该服务时的账户类型,一般设置为localsystem

7 到此步一个简单的windows服务就创建好了,编译程序会生成一个emailservice.exe的可执行文件,接下来便是安装服务了。

二、windows服务的安装

命令安装

-------------------------------------此处为自己命令安装成功------------------------------------------------------------------

服务 安装:sc create 服务名 binpath= “服务exe文件地址” displayname= "显示名称" start= "auto"

服务删除 sc delete 服务名

给服务添加描述: sc description 服务名 “具体服务名称”

------------------------------------以下方法未试-------------------------------------------------------------------

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 当我们运行注册服务批处理命令之后便会进行服务安装,如果安装成功,我们在服务界面将看到该服务,如下图所示:

 

8 安装服务时的注意事项

1 安装程序installutil.exe的版本必须于创建windows服务的.net版本一致;

2 如果是win7以上版本的系统,在运行批处理命令时,应以管理员身份运行;

3 如果是win7以上版本的系统,应特别注意安装程序和应用程序的路径,以便能够正确的写批处理命令。