使用Topshelf创建Windows服务

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 

 

 
 
原文地址:https://www.cnblogs.com/webenh/p/8979499.html