使用Topshelf快速搭建Windows服务
1、创建控制台程序
2、安装Topshelf组件
Install-Package Topshelf
using System; using System.Timers; using Topshelf; namespace EsDataImporter { public class Program { public static void Main() { HostFactory.Run(x => { x.Service<TownCrier>(s => { s.ConstructUsing(name => new TownCrier()); //服务启动执行方法 s.WhenStarted(tc => tc.Start()); //服务结束执行方法 s.WhenStopped(tc => tc.Stop()); }); x.RunAsLocalSystem(); x.SetDescription("Data Synchronism For Elasticsearch"); x.SetDisplayName("EsDataSync"); x.SetServiceName("EsDataSync"); }); } } public class TownCrier { readonly Timer _timer; public TownCrier() { _timer = new Timer(1000) { AutoReset = true }; _timer.Elapsed += (sender, eventArgs) => Console.WriteLine("It is {0} and all is well", DateTime.Now); } public void Start() { _timer.Start(); } public void Stop() { _timer.Stop(); } } }
安装:EsDataImporter.exe install
启动:EsDataImporter.exe start
卸载:EsDataImporter.exe uninstall