目的:以控制台方式开发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()
        {
        }
    }
}

使用Topshelf管理Windows服务的更多相关文章

  1. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  2. 玩转Windows服务系列——命令行管理Windows服务

    说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命 ...

  3. 使用Topshelf创建Windows服务

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  4. 玩转Windows服务系列——命令行管理Windows服务

    原文:玩转Windows服务系列——命令行管理Windows服务 说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令, ...

  5. Topshelf创建Windows服务

    使用Topshelf创建Windows服务 概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps ...

  6. 【第三方插件】使用Topshelf创建Windows服务

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  7. Quartz+TopShelf实现Windows服务作业调度

    Quartz:首先我贴出来了两段代码(下方),可以看出,首先会根据配置文件(quartz.config),包装出一个Quartz.Core.QuartzScheduler instance,这是一个调 ...

  8. [转]玩转Windows服务系列——命令行管理Windows服务

    本文转自:http://www.cnblogs.com/hbccdf/p/managewindowsservicewithcmd.html 说到Windows服务的管理就不得不说通过命令行的方式管理W ...

  9. 如何使用PowerShell管理Windows服务

    [TechTarget中国原创] 作为一名系统管理员,最常见的任务之一就是学会管理Windows服务,这是保证Windows服务器和客户端正常运行的重要内容. 许多操作系统和应用程序都依赖于这些服务. ...

随机推荐

  1. struts2文件上传大小限制问题小结(引用)

    最后解决办法: 页面js控制上传文件的大小,在页面进行控制.如下代码 inputs是所有文本上传input DOM //名称信息 var nameStr=''; //大小信息 var sizeStr= ...

  2. SVM中径向基函数与高斯核的区别 Difference between RBF and Gaussian kernel in SVM

    Radial Basis Functions (RBFs) are set of functions which have same value at a fixed distance from a ...

  3. Java数据解析---PULL

    安卓和JAVA解析xml文件的三种方式: 1.PULL解析 2.SAX解析 3.DOM解析 三者各有所长,依情况选择解析方式 1.PULL和SAX均采用流式解析,意味着只能从头读到底,无法像DOM解析 ...

  4. linux上部署engineercms、docker和onlyoffice实现文档协作

    等了好久,这次终于下决心在局域网部署了linux系统,并安装docker和load了onlyoffice,利用engineercms进行资料管理和文档协作. 我整理了完整文档,见我的网盘. engin ...

  5. Android 震动模式

    震动类 public class VibratorUtil { private static final long DEFAULT_VIBRATOR = 100; private static Vib ...

  6. Django ModelForm 小实例1

    1.models.py ASSET_STATUS = ( (str(1), u"使用中"), (str(2), u"未使用"), (str(3), u" ...

  7. Python:随机生成测试数据的模块--faker的基本使用

    本文内容: faker的介绍 faker的使用 小例子:生成随机的数据表信息 首发日期:2018-06-15 faker介绍: faker是python的一个第三方模块,是一个github上的开源项目 ...

  8. python与MongoDB的基本交互:pymongo

    本文内容: pymongo的使用: 安装模块 导入模块 连接mongod 获取\切换数据库 选择集合 CRUD操作 首发时间:2018-03-18 20:11 pymongo的使用: 安装模块: pi ...

  9. linux 下的ssh

    ssh服务 1.检查是否有被安装,命令 rpm -qa|grep "ssh" 2.检查ssh有没有在运行,命令 rpm -qa|grep "ssh" 3.如何启 ...

  10. Djanggo ORM操作

    Django ORM那些相关操作  一般操作 看专业的官网文档:https://docs.djangoproject.com/en/1.11/ref/models/querysets/,做专业的程序员 ...