使用Topshelf创建Windows服务

一、什么是Topshelf服务?

二、使用Topshelf服务有什么好处

 三、创建Topshelf项目

3.1  在创建的项目文件夹里创建一个引用的目录 ,

    引用目录使得未来多人协作开发的时候比较方便,大家把需要引用的第三方类库都放在这个引用文件夹下

3.2 TopShelf.dll插件下载: 

  https://github.com/topshelf/Topshelf/downloads 

 TopShelf.dll插件下载后放在引用文件夹里

3.3  添加第三方库TopShelf.dll引用

3.4  引入Topshelf.dll里面的相关代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Topshelf;

namespace KingOfGlory.Host
{
    class Program
    {
        static void Main(string[] args)
        {
            //Run是一个服务
            //StartService是服务启动入口的一个类
            HostFactory.Run(x =>
            {
                x.Service<StartService>(s =>
                {
                    s.ConstructUsing(name => new StartService());
                    s.WhenStarted((t) => t.Start());//Start时执行类里的Start方法
                    s.WhenStopped((t) => t.Stop());
                });

                x.RunAsLocalSystem();//运行的是本地系统的服务

                //服务的描述
                x.SetDescription("KingOfGlory");
                //服务的显示名称
                x.SetDisplayName("KingOfGlory");
                //服务名称
                x.SetServiceName("KingOfGlory");

            });
        }
    }
    class StartService
    {
        public void Start()
        {
            Console.WriteLine("Starting......");
        }
        public void Stop()
        {
            Console.WriteLine("Stoping......");
        }
    }
}

此时服务已经创建完成

四、找到编译后的项目文件夹

然后找到生成的文件所在文件夹,新建两个批处理文件:一个是注册服务,一个是卸载服务的。

内容如下所示

 

第一行:在执行批处理文件的时候切换到当前的目录,如果不做切换呢会是在C盘下;

第二行是注册的命令

第三行执行一次启动。

 

4.2 卸载服务:uninstall.bat

最后所创文件如下

五、将编译后的项目文件注册为Windows服务

开始执行注册的命令

打开控制面板的管理工具(如果没有找到管理工具,用大图标显示)

 

下面显示注册成功

同样如果执行卸载服务命令

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值