使用Topshelf 5步创建Windows 服务 这篇文章大家可以了解到使用Topshelf可以很好的支持Windows服务的开发,但是它和Mono不兼容,Github上有一个扩展https://github.com.../pruiz/Topshelf.Linux 可以很好兼容Linux/Mono,本文介绍使用方法: 1、在项目中添加Topshelf.Linux, 通过Nuget 很方便的添加引用: ?...x.SetServiceName("SampleService"); }); host.Run(); } 这样你的基于Topshelf...但是要注意的是在Mono下支持命令行运行,不能使用Topshelf的命令行Start,Stop控制服务等,这对于Linux环境来说足够了,可以通过rc-scripts来完成这些工作。
新建一个控制台应用程序,使用Nuget安装TopShelf: nuget Install-Package Topshelf 测试代码: 在Main中输入: //FileInfo fi = new FileInfo...tc.Start()); s.WhenStopped(tc => tc.Stop()); }); x.RunAsLocalSystem(); x.SetDescription("Sample Topshelf...Started"); _timer.Start(); } public void Stop() { _log.Info("Service is Stopped"); _timer.Stop(); } } TopShelf...支持使用Log4net,使用Nuget安装Topshelf.Log4Net: nuget Install-Package Topshelf.Log4Net 在项目根目录下新增log4net.config
archive/2012/05/28/2521409.html http://www.cnblogs.com/jys509/p/4628926.html 官网github https://github.com/Topshelf.../Topshelf/downloads b.利用组件Topshelf 本方式特点:代码简单,开源组件,Windows服务可运行多个实例 Topshelf是一个开源的跨平台的服务框架,支持Windows...官方网站:http://topshelf-project.com 第1步:引用程序集TopShelf.dll和log4net.dll 第2步:创建一个服务类MyClass,里面包含两个方法Start...第4步: cmd命令 ConsoleApp_Topshelf.exe install (安装Windows服务) ConsoleApp_Topshelf.exe uninstall ...(卸载Windows服务) 代码下载:http://files.cnblogs.com/aierong/ConsoleApp_Topshelf.rar
介绍 topshelf是创建windows服务的一种方式,相比原生实现ServiceBase、Install.Installer更为简单方便, 我们只需要几行代码即可实现windows服务的开发。...topshelf本身支持windows及linux下mono上部署安装,同样也是开源的。...基础用法 Topshelf使用起来比较简单,通过nuget直接安装即可,目前最新的是3.2版本: ?...输入安装命令: TopshelfExample.exe install topshelf以事务的形式安装,只有成功和失败,兼容性较好,示例: ? ...多实例支持及相关资料 原生服务上是不支持的,topshelf支持使用不同的名称来部署多个同样的程序实例。
停止、暂停等,SCP 会通过 SCM 调用服务程序 开发一个Windows服务通常也比较简单,在开发的时候我们期望以命令行方式运行,想对Windows服务有更多的控制,就有一个Windows服务框架TopShelf...TopShelf的基本介绍可以参看Dru Sellers 的介绍性文章 TopShelf。...log4net.Config; using Microsoft.Practices.ServiceLocation; using StructureMap; using Topshelf...; using Topshelf.Configuration; internal class Program { static void Main(string...("AfterStop called invoked, services are stopping"); }); x.SetDescription("Sample Topshelf
使用Topshelf创建Windows 服务简要的介绍了创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf...通过5个步骤详细的介绍使用使用Topshelf创建Windows 服务。...1、Topshelf的代码托管在http://topshelf-project.com/,可以在这里下载到最新的代码。...宿主我们的服务,主要是告诉Topshelf如何设置我们的服务的配置和启动和停止的时候的方法调用。...创建Windows 服务 A WCF calculator in a windows service with TopShelf WCF service with Topshelf using as a
前面介绍了一个组件Hangfire,用于设置定时任务等等操作,在这里介绍另一款组件Topshelf。 一.Topshelf组件概述 Topshelf是.NET平台的Windows服务框架。...Topshelf可以轻松创建Windows服务,测试服务,调试服务,并最终将其安装到Windows服务控制管理器(SCM)中。...Topshelf通过允许开发人员专注于服务逻辑,而不是与.NET框架中的内置服务支持交互的细节。...Topshelf与Mono合作,可以将服务部署到Linux。服务安装功能目前仅限Windows。...二.Topshelf用法说明 介绍完对应的组件背景概述,在这里就要介绍一下如何使用这个组件的使用方法。
具体请看官网说明: http://docs.topshelf-project.com/en/latest/index.html 开始前,先创建一个控制台程序,添加 Topshelf 程序包引用: Install-Package...Topshelf 首先,继承 ServiceControl 写一个应用服务类: internal class AppService : ServiceControl { ILog...DisplayName ApplicationServer [Success] Description XXX业务管理系统 [Success] ServiceName ApplicationServer Topshelf...DisplayName ApplicationServer [Success] Description XX管理系统 [Success] ServiceName ApplicationServer Topshelf
Common.Logging 3.3.1 Common.Logging.Core (>= 3.3.1) Quartz 2.6.2 Common.Logging (>= 3.3.1) log4net 2.0.5 Topshelf...3.3.1 Topshelf.Log4Net 3.3.1 Topshelf (>= 3.3.1)log4net (>= 2.0.5) 添加完毕后如图 6、添加配置文件 添加配置文件步骤如下..., Topshelf.ServiceSuspend { private readonly Quartz.IScheduler scheduler; public...scheduler.PauseAll(); return true; } } } 8、Program.cs中增加代码: using System; using Topshelf...x.Service(); x.RunAsLocalSystem(); x.SetDescription("Quartz+TopShelf
感觉还是不够爽快,我们可以使用topshelf改造一下。...TopShelf topshelf可以很便捷地将一个windows console程序改造成windows service,只需要稍微修改一下代码结构,然后通过nuget包就可以简单操作了。...安装与部署也是极其方便,而且,topshelf在调试的时候,直接是作为console程序,极其便于调试。...TopShelf项目地址: http://topshelf-project.com/ 步骤 首先引用nuget包: Install-Package TopShelf 然后改造一下program.cs public...需要最新版本的topshelf才可以支持asp.net core的服务部署。
文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载 (1) 在C#/.NET应用程序开发中创建一个基于...Topshelf的应用程序守护进程(服务) (2) C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案 (3) 前言 在上一篇文章...《C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载》中,我们了解发C#/.NET创建基于Topshelf Windows服务程序的大致流程,参数配置以及服务的安装和卸载。...同时,我们也使用一个简单的定时任务演示了Topshelf服务的执行情况。 今天我将继续为大家分享关于Topshelf主题的技术文章。...本文主要演示在C#/.NET应用程序开发中创建一个基于Topshelf的应用程序守护进程(服务)。
基于当前文章进行代码配置后可开始进行本文章学习 用Owin Host实现脱离IIS跑Web API单元测试 基于上述程序集开始编码 安装Nuget包 Topshelf ?...新建Topshelf 所需的类 Bootstrap.cs 是对Topshelf 发布的windows服务的开始[Start]和结束[Stop]接口所要做的事情 ?...true; } catch (Exception ex) { Console.WriteLine("Topshelf...", ex); return false; } } } Program.cs 项目程序主文件,通过TopShelf将应用打包成...更近一步的是将当前控制台打包成Topshelf服务,这样就可以保证后台运行。
文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载 (1) 在C#/.NET应用程序开发中创建一个基于...Topshelf的应用程序守护进程(服务) (2) C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案 (3) 前言 对于使用...安装Topshelf组件 在TopshelfDemoService项目中,打开Nuget包管理工具,搜索Topshelf,在搜索结果中选中Topshelf,点击"安装",如图: ?...编写Topshelf服务的示例程序代码 Topshelf组件安装完成后,我们就可以开始编写服务的示例代码了。...9.设置Topshelf服务在Windows服务中的描述信息。 10.设置Topshelf服务在Windows服务中的显示名称。
使用开源的 Topshelf 大家有兴趣可以看一下它的官网:http://topshelf-project.com 比较轻便简洁,使用 nuget Install-Package Topshelf 接入项目...//6 x.StartAutomatically(); x.SetDescription("TestService2 Topshelf...ConsoleApp5.exe install Configuration Result: [Success] Name MyService2 [Success] Description TestService2 Topshelf...Host [Success] ServiceName MyService2 Topshelf v4.2.1.215, .NET Framework v3.1.9 Running a transacted
2.2、通过第三方组件 (Topshelf)创建C# Windows服务应用程序。 2.3、分享C# Windows服务编程在实际项目中的一些小技巧和小技能。...3.3、 什么是 Topshelf ? 四、源码在线解读和演示 4.1、 C# Windows服务应用程序开发零基础上手入门实战演练。...4.2、通过第三方组件 (Topshelf)创建C# Windows服务应用程序。...Install-Package Topshelf Install-Package Topshelf.Log4Net github官网地址:https://github.com/Topshelf/Topshelf
研究很久之后才知道,想在Windows上启动服务,还是不能像Linux上那么简单—— 于是尝试结合Topshelf来创建Windows服务,最终成功了。...实现方法 先实现IHostLifetime接口来接管应用程序的生命周期,其实就是用空的实现来替换掉默认的ConsoleLifetime,这样就可以在之后由Topshelf框架内部去管理生命周期。...最后,使用Topshelf来接管Generic Host,创建Windows服务。...x.SetServiceName("GenericHostWindowsServiceWithTopshelf"); x.SetDisplayName("Topshelf...创建的Generic Host服务"); x.SetDescription("运行Topshelf创建的Generic Host服务");
目前我知道的创建创建Windows服务有3种方式: a.利用.net框架类ServiceBase b.利用组件Topshelf c.利用小工具instsrv和srvany 下面我利用这3种方式,分别做一个...本方式特点:代码简单,开源组件,Windows服务可运行多个实例 Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务....官方网站:http://topshelf-project.com 第1步:引用程序集TopShelf.dll和log4net.dll 第2步:创建一个服务类MyClass,里面包含两个方法Start和Stop...//服务名称 x.SetServiceName ( "Topshelf_ServiceName" ); } ); } }...第4步: cmd命令 ConsoleApp_Topshelf.exe install (安装Windows服务) ConsoleApp_Topshelf.exe uninstall (卸载
Common.Logging.Log4Net1213 version="3.4.1" log4net version="2.0.3" Newtonsoft.Json version="10.0.3" Quartz version="2.6.1" Topshelf...version="4.0.3" Topshelf.Autofac version="3.1.1" Topshelf.Log4Net version="3.2.0" Topshelf.Quartz...version="0.4.0.1" Topshelf Topshelf是一款为了方便安装部署在Windows系统下而诞生的宿主框架,它基于控制台项目,为开发人员带来更方便的调试和部署。 ...官网:https://topshelf.readthedocs.io/en/latest/index.html 那我们可以在Program.cs里写入以下代码: using Topshelf; using...Topshelf.Autofac; namespace QuartzDotNetDemo { class Program { static void Main(string
领取专属 10元无门槛券
手把手带您无忧上云