topshelf windows服务

时间:2022-06-18 22:06:10

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的名称

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

完成