• C# 使用TopShelf实现Windows服务部署


    一、TopShelf介绍

        topShelf是创建Windows服务的一种方式,可以方便管理应用服务,最大广泛应用于,数据实时接收,定时推送等。

    二、TopShelf使用

        1、安装 TopShelf程序包

          

       2、编码 

     1 HostFactory.Run(x =>
     2             {
     3                 x.UseLog4Net();
     4                 x.Service<TownCrier>(s =>
     5                 {
     6                     s.ConstructUsing(name => new TownCrier());
     7                     s.WhenStarted(tc => tc.Start());
     8                     s.WhenStopped(tc => tc.Stop());
     9                 });
    10                 x.RunAsLocalSystem();
    11                 x.SetDescription("QuartzJob任务定时发送");
    12                 x.SetDisplayName("QuartzJob");
    13                 x.SetServiceName("QuartzJob");
    14 
    15                 x.EnablePauseAndContinue();
    16             });

           其中Run方法的回调参数方法,在运行时执行,方法内是一些配置信息。

           其中TownCrier类是我们服务实现类,服务启动时通过WhenStarted调用对应实现的OnStart,停止一样。

           RunAsLocalSystem()表示以本地系统账号运行,可选的还有网络服务和本地服务账号。

           SetDescription("Topshelf测试例子"); 设置服务的描述

           SetDisplayName("TopshelfExample"); 设置服务的显示名称

           x.SetServiceName("TopshelfExample"); 设置服务的名称

          TownCrier服务类:

     1 public class TownCrier
     2     {
     3         readonly Timer _timer;
     4         public TownCrier()
     5         {
     6             _timer = new Timer(1000) { AutoReset = true };
     7             _timer.Elapsed += (sender, eventArgs) => Console.WriteLine("---------------------DateTime: {0} ------------------- ", DateTime.Now);
     8         }
     9         public void Start() { _timer.Start(); }
    10         public void Stop() { _timer.Stop(); }
    11     }

        3、安装

        使用管理员打开CMD窗口

        

         安装服务 server.exe install

         启动服务 server.exe start

         停止服务 server.exe stop

         卸载服务 server.exe uninstall

  • 相关阅读:
    Linux 配置 SSL 证书
    freemarker 异常处理
    StringTemplateLoader的用法
    序列的重点知识小结
    Linux下安装lrzsz上传下载工具
    ajax技术
    Response对象介绍(服务器到客户端)
    Request对象介绍(客户端到服务器)
    JSP--内置对象&动作标签介绍
    JSP--常用指令
  • 原文地址:https://www.cnblogs.com/ZhengHengWU/p/11686087.html
Copyright © 2020-2023  润新知