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