.NET开发Windows服务

一、概述

本文旨在简单论述如何开发Windows服务程序。

服务名称:ServiceTest

实验环境:VS2015

最终程序结构:

二、步骤

1、创建一个项目,选择Windows 服务,更改项目名称为Study.WindowsServiceTest

2、添加安装程序

将Service1.cs重命名为ServiceTest.cs,双击打开,右键界面空白,选择【添加安装程序】

 3、配置安装程序

右键serviceInstaller1,更改ServiceName属性为ServiceTest

右键serviceProcessInstaller1,更改Account属性为LocalSystem

4、编写服务逻辑

编写ServiceTest后台代码逻辑

这里简单的输出日志信息

namespace Study.WindowsServiceTest
{
    public partial class ServiceTest : ServiceBase
    {
        private ILog _logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        public ServiceTest()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            _logger.Debug("ServiceTest Starting !!!");
        }

        protected override void OnStop()
        {
            _logger.Debug("ServiceTest Stopping !!!");
        }
    }
}

 5、编写安装、卸载服务脚本

Install.bat

%SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe WindowsServiceTest.exe
Net Start ServiceTest
sc config ServiceTest start= auto

 Uninstall.bat

%SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe /u WindowsServiceTest.ex

 注意:使用环境变量的%SystemRoot%一定要保证文件编码是ANSI格式的,否则会由于乱码而找不到installutil命令。当然可以使用绝对路劲。

6、调试

利用VS2015的附加进程功能测试

之后可以建立断点进行测试

 注意:调试的时候要保证生成的服务程序是debug模式下生成的,同时设置当前模式是debug模式,否则会跳过断点。

原文地址:https://www.cnblogs.com/seastar1989/p/6560030.html