Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的。所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Windows Service写很深入。 本文介绍了如何用C#创建、安装、启动、监控、卸载简单的Windows Service 的内容步骤和注意事项。
简述: 一般创建Window Service 的过程: 创建服务项目->添加安装程序->设置安装服务名称->修改安装账户->添加服务逻辑(Start,Stop,Pause)-> 写安装脚本,卸载脚本。->调试服务 时需要运行服务后使用附加进程的方式
1.创建一个Window Service 项目,名称为“WindowServiceTest” 这时 项目会一个(Service1.cs[设计])的文件生成 2.右击Service1.cs[设计] 添加 安装程序 3.设置serviceProcessInsraller1 中Acount属性为LocalSystem,serviceInsraller1中ServiceName 属性值:该服务的名称; 4.写服务逻辑 5.创建安装脚本Install.bat( %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe WindowsServiceTest.exe Net Start ServiceTest sc config ServiceTest start= auto) 6.卸载脚本UnInstall.bat %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u WindowsServiceTest.exe 7.如果需要查看脚本运行状况,在脚本最后一行加入pause For Example: 一、创建一个Windows Service1)创建Windows Service项目2)对Service重命名将Service1重命名为你服务名称,这里我们命名为ServiceTest。 二、创建服务安装程序1)添加安装程序之后我们可以看到上图,自动为我们创建了ProjectInstaller.cs以及2个安装的组件。 2)修改安装服务名右键serviceInsraller1,选择属性,将ServiceName的值改为ServiceTest,这里填写的是服务的名字 如果你建的服务的名字是“MyService”这里就填写“MyService”。 3)修改安装权限右键serviceProcessInsraller1,选择属性,将Account的值改为LocalSystem(账户名称)。(Account属性的意思是获取或设置运行该服务应用程序时所使用的帐户类型)。 三、写入服务代码1)打开ServiceTest代码右键ServiceTest,选择查看代码。 2)写入Service逻辑添加如下代码:
这里我们的逻辑很简单,启动服务的时候写个日志,关闭的时候再写个日志。 四、创建安装脚本在项目中添加2个文件如下(必须是ANSI或者UTF-8无BOM格式): 1)安装脚本Install.bat
2)卸载脚本Uninstall.bat
3)安装脚本说明第二行为启动服务。 第三行为设置服务为自动运行。 这2行视服务形式自行选择。 4)脚本调试如果需要查看脚本运行状况,在脚本最后一行加入pause 五、在C#中对服务进行控制0)配置目录结构建立一个新WPF项目,叫WindowsServiceTestUI,添加对System.ServiceProcess的引用。 在WindowsServiceTestUI的bin\Debug目录下建立Service目录。 将WindowsServiceTest的生成目录设置为上面创建的Service目录。 生成后目录结构如下图
1)安装安装时会产生目录问题,所以安装代码如下:
2)卸载卸载时也会产生目录问题,所以卸载代码如下:
3)启动代码如下:
4)停止
5)暂停/继续
6)检查状态
六、调试Windows Service1)安装并运行服务2)附加进程3)在代码中加入断点进行调试注意:本人使用Install.bat,UnInstall.bat 没执行成功; 我使用了vs命令提示工具完成了安装和卸载 安装脚本: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe e:\service\WindowsService_Test.exe 注释:前半部分 是vs自带安装工具InstallUtil.exe 位置,后半部分是我的服务执行文件所在位置。前后之间有个空格,其中v4.0.30319是自己使用的framework的版本号。 卸载脚本: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u e:\service\WindowsService_Test.exe 这里只是比安装脚本多了个“/u”命令符。 |
|
来自: zww_blog > 《Windows Service》