zoukankan      html  css  js  c++  java
  • 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"); }); } }

      

  • 相关阅读:
    公司后台切图
    XMLHttpRequest对象
    XML/JSDOM处理
    js访问xml之节点操作
    CSS3 输入框阴影效果及其他阴影效果
    GitHub用户仓库批量下载
    WTL10_9163应用向导安装后的小问题
    别学MFC了,要学就学这些...
    使用基于范围的 for 循环迭代范围
    使用未命名的命名空间代替静态全局变量
  • 原文地址:https://www.cnblogs.com/lilunjia/p/7090211.html
Copyright © 2011-2022 走看看