目的:以控制台方式开发Windows服务程序,调试部署方便。
https://www.cnblogs.com/itjeff/p/8316244.html
https://www.cnblogs.com/gossip/p/4506142.html
using System;
using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Topshelf;namespace Topshelf测试{ //用控制台方式开发Windows服务,使用开源组件Topshelf做托管 //主要目的:调试方便 //https://www.cnblogs.com/itjeff/p/8316244.html // //安装:TopshelfDemo.exe install //启动:TopshelfDemo.exe start //卸载:TopshelfDemo.exe uninstall class Program { static void Main(string[] args) { HostFactory.Run(c => { c.SetServiceName("LogServices"); c.SetDisplayName("LogServices"); c.SetDescription("LogServices"); c.RunAsLocalSystem(); c.Service<TopshelfService>(s => { s.ConstructUsing(b => new TopshelfService()); s.WhenStarted(o => o.Start()); s.WhenStopped(o => o.Stop()); s.WhenPaused(o => o.Pause()); s.WhenContinued(o => o.Continue()); s.WhenShutdown(o => o.Shutdown()); }); }); } } public class TopshelfService { public void Start() { //服务逻辑 } public void Stop() { } public void Pause() { } public void Continue() { } public void Shutdown() { } }}