Topself 方便調試的Window服務框架

Installing Topshelfwindows

nuget Install-Package Topshelf

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(); }
}

public class Program
{
    public static void Main()
    {
        HostFactory.Run(x =>                                 //1
        {
            x.Service<TownCrier>(s =>                        //2
            {
               s.ConstructUsing(name=> new TownCrier());     //3
               s.WhenStarted(tc => tc.Start());              //4
               s.WhenStopped(tc => tc.Stop());               //5
            });
            x.RunAsLocalSystem();                            //6

            x.SetDescription("Sample Topshelf Host");        //7
            x.SetDisplayName("Stuff");                       //8
            x.SetServiceName("Stuff");                       //9
        });                                                  //10
    }
}

能夠直接運行程序,也能夠安裝到windows服務後臺了。spa

安裝方法:.net

YourApp.exe install
YourApp.exe uninstallcode

YourApp.exe start
YourApp.exe stop

blog

看起來是否是比.net自帶的installutil.exe 方便一百倍?ip

相關文章
相關標籤/搜索