WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用Topshelf创建Windows服务

Posted on 2018-05-02 11:46  WebEnh  阅读(205)  评论(0编辑  收藏  举报

Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务. 官方网站:http://topshelf-project.com

下面是将普通控制台创建成Windows服务:

1.引用程序集TopShelf.dll

  通过NuGet安装或者官网下载

2.创建ApiMain类

 

复制代码
 public class APIMain
    {
        public APIMain()
        {
            //初始化方法,可以不要
        }
        public void Start()
        {
            //服务启动,执行的内容
        }

        public void Stop()
        {
            //服务停止,执行的内容
        }

    }
复制代码

 

3.改写Program.cs

复制代码
 public class Program
    {
        static void Main(string[] args)
        {
            HostFactory.Run(x =>
            {
                x.Service<APIMain>(s =>
                    {
                        s.ConstructUsing(name => new APIMain());
                        s.WhenStarted(tc => tc.Start()); //启动服务执行方法
                        s.WhenStopped(tc => tc.Stop()); //停止服务前执行方法
                    });
                x.RunAsLocalSystem();
                x.SetDescription("数据接口服务"); //服务描述名称
                x.SetDisplayName("数据接口服务"); //服务显示名称
                x.SetServiceName("ElegantWebApiServer");
            });
        }
    }
复制代码

4.cmd命令安装或卸载服务

 

安装:xxx.exe  install    

 

卸载:xxx.exe  uninstall