topshelf windows服务

一 开发:

1、新建控制台程序

2、nuget下载topshelf,根据不同的net版本选择下载版本,本人4.5下载3.3.1

3、main方法中增加

HostFactory.Run(x =>
            {
                x.Service<Rabbit>(s =>
                {
                    s.ConstructUsing(name => new Rabbit());//Rabbit是下面具体的业务类,实现具体业务
                    s.WhenStarted(ra => ra.Start());//Start() Rabbit类方法
s.WhenStopped(ra
=> ra.Stop());//Stop() Rabbit类方法
});
//x.RunAsLocalSystem(); x.RunAsLocalSystem(); x.SetDescription("订单完成升级为网店"); //服务管理器中服务选项卡中描述栏显示的内容 x.SetDisplayName("OrderCompleteUpgradeToShop");//任务管理器中服务选项卡名称栏显示内容 x.SetServiceName("OrderCompleteUpgradeToShop");//服务管理器中显示名称 x.StartAutomatically();//自动启动,启动模式 });
public class Rabbit
    {
        
        
        public void Start()
        {
            //实现

        }


        public void Stop()
        {
            //实现
        }
    }

二 安装服务:

安装
rabbitWinServer.exe install
启动
rabbitWinServer.exe start
停止
rabbitWinServer.exe stop
卸载
rabbitWinServer.exe uninstall

生成项目后可以在debug文件夹找到生成的文件,shift+鼠标右键弹出“在此处打开命令窗口”,运行上面的相应代码

Note:其中rabbitWinServer.exe为exe的名称

三 查看服务安装及运行结果:

完成

相关图示:

原文地址:https://www.cnblogs.com/fuyujian/p/5930809.html