Topshelf 是一个用来部署基于.NET Framework 开发的服务的框架。简化服务创建于部署过程,并且支持控制台应用程序部署为服务。本文基于 .net core 控制台应用程序部署为服务(.net Framework 可用)。

第一步:创建名为 TopshelfDemo 的控制台应用程序。

第二步:通过 Nuget 安装 Topshelf 包。

第三步:Toshelf 配置,代码并不多下面都有注释。

using System;
using Topshelf;namespace TopshelfDemo
{class Program{static void Main(string[] args){try{  // 配置和运行宿主服务HostFactory.Run(x =>                                 //1{x.Service<Service>(s =>                        //2{// 指定服务类型。这里设置为 Services.ConstructUsing(name => new Service());     //3// 当服务启动后执行什么s.WhenStarted(tc => tc.Start());              //4// 当服务停止后执行什么s.WhenStopped(tc => tc.Stop());               //5});// 服务用本地系统账号来运行x.RunAsLocalSystem();                            //6// 服务描述信息x.SetDescription("我的项目服务");        //7// 服务显示名称x.SetDisplayName("MyProjectServiceShowName");                       //8// 服务名称x.SetServiceName("MyProjectService");                       //9 }); }catch (Exception ex){Console.WriteLine(ex);}}}public class Service{ public void Start() {//To do something}public void Stop() {//To do something}}
}

第四步:安装服务

  确保项目正常生成,然后通过管理员权限打开 cmd 命令窗口,找到项目所在的 Debug 目录,输入命令:TopshelfDemo.exe install。

  如果是使用 .net core 的小伙伴你会发现 Debug下压根没有 TopshelfDemo.exe ,这不是扯淡呢么,别急往下看。

  由于 .net core 依赖 runtimes 所以我们需要发布以下程序,并且选择独立项目就ok啦。

这时你在布后的路径下就可以找到 TopshelfDemo.exe 啦。

这时服务就安装完毕了,我们可以通过 Windows 服务中查看。

删除服务命令:TopshelfDemo.exe uninstall

也可以通过 sc delete MyProjectService 进行删除

好了,到这里就完事儿了,哪里有问题希望大家猛烈拍砖以便修正~

  链接: https://pan.baidu.com/s/1bHIQgO6GFahXOtgI3dlNTA

  提取码: thki

【转】Topshelf 搭建 Windows 服务相关推荐

  1. Topshelf 搭建 Windows 服务

    C# Topshelf 搭建 Windows 服务 Topshelf 是一个用来部署基于.NET Framework 开发的服务的框架.简化服务创建于部署过程,并且支持控制台应用程序部署为服务.本文基 ...

  2. c# Topshelf 搭建 Windows 服务

    用本文基于 .net core 控制台应用程序部署为服务(.net Framework 可用). 一.创建.NET Core的控制台应 第二步:通过 Nuget 安装 Topshelf 包. 三.代码 ...

  3. C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案

    C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案 参考文章: (1)C#/.NET基于Topshelf创建Windows ...

  4. 使用Topshelf创建Windows服务

    一.实现效果 使用Topshelf创建Windows服务项目工程下载 二.Topshelf简介 2.1.Topshelf介绍 TopShelf是一个托管使用.NET框架编写的服务的框架,是创建wind ...

  5. Quartz+TopShelf实现Windows服务作业调度 (转载)

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

  6. 如何使用Topshelf管理Windows服务

    一.官方网站及源码下载 1.官方网站:http://topshelf-project.com/ 2.源码下载:https://github.com/Topshelf/Topshelf/download ...

  7. 使用Topshelf管理Windows服务

    目的:以控制台方式开发Windows服务程序,调试部署方便. https://www.cnblogs.com/itjeff/p/8316244.html https://www.cnblogs.com ...

  8. .net 中用TopShelf 实现windows服务

    1.TopShelf 是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主.TopShelf 安装不需要依赖 .net framework ...

  9. 利用Topshelf搭建Windowns服务实现定期自动添加数据逻辑和原理

    一.Topshelf基本配置 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  10. Topshelf创建Windows服务

    入门例子 using log4net; using System; using System.Timers; using Topshelf;namespace ConsoleAppTest {clas ...

最新文章

  1. ref和out的区别
  2. php 跳转qq群代码_PHP小脚本~QQ免KEY值加群
  3. [Javascript] Deep Search nested tag element in DOM tree
  4. IPv6套接字编程介绍
  5. 构建消费者数据平台(CDP),实现全域消费者数字化运营闭环
  6. scws sphinx mysql_Sphinx+Scws 搭建千万级准实时搜索应用场景详解
  7. 激励员工的首席执行官以及他们的秘诀
  8. c语言strchr的用法,C 库函数 - strchr()
  9. 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】
  10. mysql+cast+0x_mysql cast与convert 函数的用法
  11. LeetCode 188. 买卖股票的最佳时机 IV(动态规划)
  12. 信息学奥赛一本通(1238:一元三次方程求解)
  13. javascript中将字符串转换为json格式的三种方法
  14. 求生欲强烈!HTC官方回应并未退出中国市场
  15. 1057 字符转数字,判断
  16. oracle查询所有表字段属性_MybatisPlus基础篇学习笔记(四)------查询方法
  17. php读取月日,PHP获取当前时间、年份、月份、日期和天数
  18. javascript 实现中文按照拼音首字母排序
  19. 降级论–只需要降级,就能创造更大的价值,也能获得更大的满足。
  20. 做设计想要轻松接单 你要懂这些

热门文章

  1. 【语音去噪】基于matlab低通+自适应滤波去噪【含Matlab源码 352期】
  2. 中国ai人工智能发展太快_中国的AI:开放采购和幕后玩家
  3. python svm向量_支持向量机(SVM)及其Python实现
  4. 离散数学期末复习概念_复习第1部分中的基本概念
  5. 机器学习中特征选择_机器学习中的特征选择
  6. python 基线拟合
  7. 安装Anaconda3 5.2.0后只有Anaconda Prompt,没有spyder等
  8. 二维数组最长递增java_动态规划设计之最长递增子序列
  9. php怎么把时间精确到毫秒,如何使用php获取当前时间戳、日期并精确到毫秒
  10. java path combine_Path.Combine (合并两个路径字符串)方法的一些使用细节