博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用C#一步步创建Window Service (转)
阅读量:7247 次
发布时间:2019-06-29

本文共 1584 字,大约阅读时间需要 5 分钟。

一、准备条件:安装好的VS2010

二、创建window service项目,取项目名为WinService_Test

三、在新建好的项目中,找到Service1.cs,右击-->View Code(查看源代码)。在源代码中,OnStart方法是在服务启动时执行的,可以在这里编写服务要执行的业务逻辑代码;OnStop方法是在服务停止时执行的,一般在这里编写终止服务线程或停止业务逻辑的代码等。

 

四、添加服务安装程序ProjectInstaller。

1、在Service1.cs的设计界面(可双击Service1.cs进入此界面),右击-->Add Installer(添加安装程序);

2、完成第一步,默认项目添加了ProjectInstaller.cs程序;

3、双击编辑文件ProjectInstaller.Designer.cs,更改下面代码:

1)在InitializeComponent方法中,添加代码

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

2)在InitializeComponent方法中,修改this.serviceInstaller1.ServiceName为服务类的名称,默认为Service1,如果项目的服务类的名称更改了,注意一定要修改这个值,如:服务类的名称更为WinServiceTest后,对应修改代码如下:

  this.serviceInstaller1.ServiceName = "WinServiceTest";    //服务类的名称

  this.serviceInstaller1.DisplayName = "WinServiceTest";    //安装后,在window服务管理里显示的名称

  this.serviceInstaller1.Description = "Window测试服务!";   //安装后,在window服务管理里显示的描述

 

五、添加window service安装的批处理命令

1)在项目添加一个文本文件,更名为install.bat,编辑文件的内容如下:

  %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe WinService_Test.exe

  Net Start Service1

2)在项目添加一个文本文件,更名为uninstall.bat,编辑文件的内容如下:

  Net Start Service1

  %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u WinService_Test.exe

 

补充说明:

 

  • 上面黄色字体为项目的名称,也就是生成后的文件名称;红色字体为服务的名称,也就是服务类的名称。
  • 另外,文件install.bat的属性里“Copy to Output Directory”默认为“Do not copy”,编译后,在debug的文件夹里找不到install.bat的,要更改为“Copy always”或者“Copy if newer”才能出现的。uninstall.bat也跟install.bat一样的。

 

六、实际安装。

1)编译成功后,在debug文件夹中,双击install.bat完成安装;

2)安装成功后,在window的服务里,可看到此服务,如没更改服务类的名称,这里可看到服务Service1;

3)双击uninstall.bat可卸载此服务。

 

 

总结,通过上面六个步骤,实现window服务从创建到安装、卸载整个过程。

转载地址:http://trjbm.baihongyu.com/

你可能感兴趣的文章
HTML5移动游戏平台大战,技术不再主导流量
查看>>
详述Linux配置静态IP、设置DNS和主机名
查看>>
第12课:Spark Streaming源码解读之Executor容错安全性
查看>>
python-高阶函数(函数做返回值)
查看>>
我的友情链接
查看>>
入住51
查看>>
Linux中man命令
查看>>
如何自定义UIBarBtton
查看>>
python学习笔记-Day05-第一部分(再谈装饰器)(递归)
查看>>
BeanShell使用标准Java语法
查看>>
菜鸟学Linux 第046篇笔记 DNS相关概念
查看>>
获取本月的第一天和最后一天
查看>>
backbone.js 框架
查看>>
禁止网站在访问时出现列目录
查看>>
log4j.properties配置与加载应用(转)
查看>>
从右边看二叉树
查看>>
Linux服务器升级安装OPENSSH
查看>>
我的友情链接
查看>>
debian 7.0 dmesg error 解决过程实记.
查看>>
lvs之fullnat与pacemaker的构建
查看>>