原文:Creating Windows Services In .NET Core – Part 2 – The "Topshelf" Way 作者:Dotnet Core Tutorials 译者:Lamond Lu 译文:使用.NET Core创建Windows服务(二) - 使用Topshelf方式 使用.NET Core创建Windows服务 使用微软推荐方式 使用Topshelf方式 在前一篇文章中,我给大家介绍了,如何基于微软推荐方式使用.NET Core创建Windows…
Topshelf是一个开发windows服务的比较好的框架之一,以下演示如何开发Topshelf服务. 1.首先打开你的vs.新建一个TopshelfStudy控制台程序,如下图所示: 这是我用vs2017新建的. 2.然后选中你的项目,运行Nuget,可以手工搜索Topshelf进行安装,也可以通过程序包管理器控制台进行安装,Install-Package Topshelf,具体操作如下. 因为我选择的安装版本支持的比较高,这里为了不出问题.把项目的目标框架设置为.NET FrameWork…
目的:以控制台方式开发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;…
上一篇说了如何使用 Topshelf 组件快速创建Windows服务,接下来介绍如何使用 Quartz.net 关于Quartz.net的好处,网上搜索都是一大把一大把的,我就不再多介绍. 先介绍需要用到的插件: Quartz版本我用的 2.6.2的, 没有用3.0以上的,因为你用了就会知道,会打印出一大堆坑爹的日志文件, 我是没有找到如何屏蔽的办法,如果你们谁有,欢迎分享出来,我也学习一下,哈哈. 整个项目结构如下: AppConfigHelper 文件需要改动一下,增加如下属性 /// <s…
一.课程介绍 大家都知道如果想要程序一直运行在windows服务器上,最好是把程序写成windows服务程序:这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需要用户直接登录,直接开机就可以启动. 今天将给大家带来实际项目中经常运用的技术—C# 如何使用创建Windows服务进行应用程序开发. 本课程适合人群如下: 1.有一定的NET开发基础并对Windows服务编程技术有一定了解和认识. 2.进一步加深提高和扩展对Windows服务编程技术的认识视野. 3.喜欢阿笨的干货分享课程的童鞋们…
demo地址:ABP.WindowsService 该系列文章启发自 How to: Create a Windows Service that schedules jobs, logs and is configurable by means of dependency injection 阅读优秀的项目源码,是非常值得推崇的学习方式.阅读之后必不可少的步骤是实践.该系列文章预计将有多篇文章.和How to: Create a Windows Service that schedules jo…
我们通常在一些情况下需要软件具有一个自动执行某些任务的功能,但是又不希望直接启动软件,或者每次都要手动的来启动软件,这时我们可可以考虑到windows服务了. 首先创建一个windows服务项目(详细信息请参阅:C#创建Windows Service(Windows 服务)基础教程) 在创建好的项目中点击“单击此处切换到代码视图”切换到代码 我们主要关注一下两个方法: • OnStart – 控制服务启动 • OnStop – 控制服务停止 例: public partial class Ser…
开发windows服务,除了在vs里新建服务项目外(之前有写过具体开发方法,可点击查看),还可以使用Topshelf. 不过使用topshelf需要.netframework 4.5.2版本,在vs2013上引用不成功,我这里使用的是vs2017. 以下为具体步骤: 一.引用topshelf 并使用 1.在vs里新建控制台程序 2.在引用里使用NuGet搜索topshelf并安装 3.程序代码 using log4net; using System; using System.IO; using…
asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理. 反向代理可以提供很多特性,固然很好.但是还有复杂性,我们也可以使用windows service来直接启动kestrel. asp.net core官方网站提供了一种基于windows服务部署的方法:在 Windows 服务中托管 ASP.NET Core 这种方式需要修改代码,然后部署的时候,使用命令行创建.安装服务,然后再启动. 感觉…
此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue #809 等他们方解决了. 官方文档只提供了一个<在 Windows 服务中托管 ASP.NET Core>的方案,可以使用Microsoft.AspNetCore.Hosting.WindowsServices类库来把Web应用部署为Windows服务.但是ASP.NET Core虽然是控制台程序…
背景 2019第一篇文章. 此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue #809 等他们方解决了. 官方文档只提供了一个<在 Windows 服务中托管 ASP.NET Core>的方案,可以使用Microsoft.AspNetCore.Hosting.WindowsServices类库来把Web应用部署为Windows服务.但是ASP.NE…
1..NET Core Generic Host是什么? 在.NET Core 2.1版本加入了一种新的Host,即Generic Host(通用主机). 现在在2.1版本的Asp.Net Core中,有了两种可用的Host: Web Host:适用于托管Web程序的Host,就是我们所熟悉的在Asp.Net Core应用程序的Mai函数中用CreateWebHostBuilder创建出来的常用的WebHost. Generic Host:(ASP.NET Core 2.1版本才有) – 适用于…
Quartz:首先我贴出来了两段代码(下方),可以看出,首先会根据配置文件(quartz.config),包装出一个Quartz.Core.QuartzScheduler instance,这是一个调度器,调度各个任务项(Jobs)的执行.这个调度器可以被Start.被Shutdown.被PauseAll.被ResumeAll,这对应 了windows服务的开启.停止.暂停.恢复.当启动服务,我就调用调度器的Start(),停止服务我就调用调度器的Shutdown()方法. namespace…
C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; namespace…
该文章是系列文章 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业 的其中一篇. 比较流行的日志组件有以下四种,Topshelf都有相应的组件提供 log4net NLog serilog Elmah 本篇文章主要介绍log4net的使用. 配置log4net 在使用Topshelf创建Windows服务中提到了当我们调试的时候Console会打印出如下的类似日志 Configuration Result: [Success] Name Demo.MyJob [S…
.NET Core 创建Windows服务 作者:高堂 原文地址:https://www.cnblogs.com/gaotang/p/10850564.html 写在前面 使用 TopShelf+Autofac+AutoMapper+Quartz+NLog 完成现有项目定时调度任务 1.相关NetGet包 依赖注入 Alexinea.Autofac.Extensions.DependencyInjection 对象映射 AutoMapper.Extensions.Microsoft.Depend…
1.TopShelf TopShelf是一个开源的跨平台的宿主服务框架.可通过.Net Core/.Net Framwork控制台应用程序快速开发windows服务,更加便于服务调试. 本文基于.Net Core2.2快速开发windows服务 首先,我们创建一个控制台应用程序 然后添加Topshelf Nuget程序包  版本4.2.1 通过Topshelf集成的Log4net管理日志,所以我们这里添加了Topshelf.LogNet4 Nuget程序包 添加log4net.config日志配…
概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的介绍使用使用Topshelf创建Windows 服务.Topshelf是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主. 引用安装 1.官网:http://topshelf-project.com/ 这里面有详细的文档及下载 2.Top…
在业务系统中,我们为了调度一些自动执行的任务或从队列中消费一些消息,所以基本上都会涉及到后台服务的开发.如果用windows service开发,非常不爽的一件事就是:调试相对麻烦,而且你还需要了解 windows service 相关的一些开发和安装部署,所以,windows service非常的不方便.Topshelf框架,能够让你将 console application 直接封装为 windows service,这样你在开发的时候,就可以直接在console 程序上开发,然后构成win…
使用Topshelf创建Windows 服务简要的介绍了创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的介绍使用使用Topshelf创建Windows 服务.Topshelf是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主. 1.Topshelf的代码托管在http://topshelf-project.c…
本文转载: http://www.cnblogs.com/aierong/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…
使用Topshelf创建Windows服务 概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的介绍使用使用Topshelf创建Windows 服务.Topshelf是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主. 引用安装 1.官网:http://topshelf-project.c…
很多时候都在讨论是否需要了解一个组件或者一个语言的底层原理这个问题,其实我个人觉得,对于这个问题,每个人都有自己的看法,个人情况不同,选择的方式也就会不同了.我个人觉得无论学习什么,都应该尝试着去了解对应的原理和源码(这里就不要急着吐槽,容我说完).对底层的了解不是为了让你写出类似的东西,让你写也不可能写的出来,重写一个就需要以此修改整个底层结构,了解底层知识只是为了让你可以在写业务代码时,选择合适的方式,以此使底层与业务层配合达到效率最佳.任何一种方式有坏有好,需要合适的选择. 如果觉得楼主以…
Topshelf是 基于.net框架开发的宿主服务框架.该框架简化了服务的创建,开发人员只需要使用 Topshelf编写一个控制台程序,就能安装为Windows服务.之所以这样原因非常简单:调试一个控制台程序比调试Windows服务应用更加简单.一般应用测试后发布到生产环境,由于采用了Topshelf,很简单就能把一个应用安装为Windows服务. 官网:http://topshelf-project.com/  这里面有详细的文档及下载 Topshelf的代码托管在 http://github…
在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是:我们的控制台程序,也就是普通的.NET Core程序(而不是ASP.NET Core程序)如何以服务的方式运行呢? 这个问题我们在.NET Core之前早就遇到过,那是是.NET Framework的时代(其实距今也没多远啦),我们是用一个第三方的组件——Topshelf,来解决这个问题的,Topshelf的…
上一篇是直接创建windows service服务来处理需求.调试可能会麻烦一点.把里面的逻辑写好了.然后受大神指点,用Topshelf会更好一些. 来公司面试的时候问我,为什么要用stringbuilder,领导说,我平时用string拼字符串也挺好的呀. 我那时候潜意识就是觉得学会加减法都是为了乘除法做准备的.实际上应该是stringbuilder效率会高一些吧. 引用Topshelf的优势就是方便调试吧.因为你运行起来就是控制台界面. 而且命名直接在.cs中就可以了.不需要在windows…
在windows 服务中托管asp.net core SDK 2.1.300 官方示例 1.添加运行标识符 xml <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <RuntimeIdentifier>win7-x64</RuntimeIdentifier> </PropertyGroup> 2.添加包引用 dotnet add package Micr…
Ø  前言 C# 创建 Windows 服务的方式有很多种,Topshelf 就是其中一种方式,而且使用起来比较简单.下面使用 Visual Studio Ultimate 2013 演示一下具体的使用步骤: 1.   首先,新建一个控制台应用程序,Framework 版本选择4.5,用于测试和启动 Windows 服务. 2.   打开程序包管理器控制台,安装 Topshelft 所需的 dll 文件. 1)   安装 Topshelft.dll 1.   注意:因为需要跟当前项目的 .NET…
以Windows服务方式运行.NET Core程序 原作者blog:https://www.cnblogs.com/guogangj/p/10093102.html 里面使用了NSSM 工具 但是自己试了下自己公司的产品不行 还有一篇写 aspnet core的 没有代码 暂时还没有测试. 在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是:我们的控制台程序,…
概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的介绍使用使用Topshelf创建Windows 服务.Topshelf是一个开源的跨平台的宿主服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务宿主. 引用安装 1.官网:http://topshelf-project.com/ 这里面有详细的文档及下载 2.Top…