• Topshelf 一个简化Windows服务开发的宿主服务框架


    Topshelf是 基于.net框架开发的宿主服务框架。该框架简化了服务的创建,开发人员只需要使用 Topshelf编写一个控制台程序,就能安装为Windows服务。之所以这样原因非常简单:调试一个控制台程序比调试Windows服务应用更加简单。一般应用测试后发布到生产环境,由于采用了Topshelf,很简单就能把一个应用安装为Windows服务。

    官网:http://topshelf-project.com/  这里面有详细的文档及下载

    Topshelf的代码托管在 http://github.com/topshelf/Topshelf/downloads   ,可以在这里下载到最新的代码。

    新建一个项目,只需要引用Topshelf.dll 即可,为了日志输出显示,建议也同时引用Topshelf.Log4Net。程序安装命令

    • Install-Package Topshelf
    • Install-Package Topshelf.Log4Net

    简单示例

    创建服务

    public class Service1
    {
        readonly Timer _timer;
        public Service1()
        {
            _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(); }
    }
    

    在宿主程序中注册

    using Topshelf;

    public class Program { public static void Main() { HostFactory.Run(x => { x.Service<Service1>(s => { s.ConstructUsing(name=> new Service1()); s.WhenStarted(tc => tc.Start()); s.WhenStopped(tc => tc.Stop()); }); x.RunAsLocalSystem(); x.SetDescription("Topshelf托管示例"); x.SetDisplayName("简单服务"); x.SetServiceName("SimpleService"); }); } }

      

  • 相关阅读:
    Redis学习第二天
    Redis学习
    jQuery基础
    Hashtable 和 HashMap 的区别
    JSP页面乱码问题
    Day28 java8:Stream API
    转 链表中节点每k个一组反转
    day 27 lambda表达式(针对接口) & 函数式接口
    day20异常2
    day20 异常1
  • 原文地址:https://www.cnblogs.com/lilunjia/p/7090211.html
Copyright © 2020-2023  润新知