使用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 

 

 

posted @ 2016-01-22 11:11  屋顶的小白熊  阅读(187)  评论(0编辑  收藏  举报