• .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模式,否则会跳过断点。

  • 相关阅读:
    Java自定义注解(1)
    SpringMvc入门
    Nginx服务器简单配置
    EL和JSTL使用笔记
    JQuery笔记
    Java05 JDBC介绍及基本操作
    Java04 线程同步问题解决——线程锁(同步锁、互斥锁)
    web服务、正向代理、反向代理的一点理解
    java03 IO操作
    Docker05 Docker容器
  • 原文地址:https://www.cnblogs.com/seastar1989/p/6560030.html
Copyright © 2020-2023  润新知