Topshelf组件】的更多相关文章

很多时候都在讨论是否需要了解一个组件或者一个语言的底层原理这个问题,其实我个人觉得,对于这个问题,每个人都有自己的看法,个人情况不同,选择的方式也就会不同了.我个人觉得无论学习什么,都应该尝试着去了解对应的原理和源码(这里就不要急着吐槽,容我说完).对底层的了解不是为了让你写出类似的东西,让你写也不可能写的出来,重写一个就需要以此修改整个底层结构,了解底层知识只是为了让你可以在写业务代码时,选择合适的方式,以此使底层与业务层配合达到效率最佳.任何一种方式有坏有好,需要合适的选择. 如果觉得楼主以…
使用Topshelf组件构建简单的Windows服务   很多时候都在讨论是否需要了解一个组件或者一个语言的底层原理这个问题,其实我个人觉得,对于这个问题,每个人都有自己的看法,个人情况不同,选择的方式也就会不同了.我个人觉得无论学习什么,都应该尝试着去了解对应的原理和源码(这里就不要急着吐槽,容我说完).对底层的了解不是为了让你写出类似的东西,让你写也不可能写的出来,重写一个就需要以此修改整个底层结构,了解底层知识只是为了让你可以在写业务代码时,选择合适的方式,以此使底层与业务层配合达到效率最…
我们先来介绍一下使用它的好处,以下论述参考自其他大神. topshelf是创建windows服务的一种方式,相比原生实现ServiceBase.Install.Installer更为简单方便, 我们只需要几行代码即可实现windows服务的开发. topshelf本身支持windows及linux下mono上部署安装,同样也是开源的. topshelf相对原生来说,调试起来比较方便,可以在开发时以控制台的形式直接f5调试,发布时用命令以服务的形式部署. 还一个比较有用的特性是支持多实例的部署,这…
上一篇说了如何使用 Topshelf 组件快速创建Windows服务,接下来介绍如何使用 Quartz.net 关于Quartz.net的好处,网上搜索都是一大把一大把的,我就不再多介绍. 先介绍需要用到的插件: Quartz版本我用的 2.6.2的, 没有用3.0以上的,因为你用了就会知道,会打印出一大堆坑爹的日志文件, 我是没有找到如何屏蔽的办法,如果你们谁有,欢迎分享出来,我也学习一下,哈哈. 整个项目结构如下: AppConfigHelper 文件需要改动一下,增加如下属性 /// <s…
1.创建控制台程序 2.安装Topshelf组件  Install-Package Topshelf using System; using System.Timers; using Topshelf; namespace EsDataImporter { public class Program { public static void Main() { HostFactory.Run(x => { x.Service<TownCrier>(s => { s.ConstructU…
前言 此文欢迎转载,原始链接地址:http://www.cnblogs.com/DjlNet/p/7603819.html 正文 原先也偶然见过这个关键词,当时只是有个大致了解貌似和WinService开发有关系,此前在对Quartz.Net了解的时候再次接触到TopShelf,这个时候博主就认为不能一笔带过了,此框架需要另起一篇小文对于它有一个稍微更加详细的说明与实践,看看当对于原生的winservice开发或许方便了许多在哪里,那么今天我们就综合园友的文章以及官方文档的脚步学习一下吧....…
本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载 (1) 在C#/.NET应用程序开发中创建一个基于Topshelf的应用程序守护进程(服务) (2) C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案 (3) 前言 对于使用…
我之前在文章中介绍过使用NSSM将exe封装为服务,这种方式我个人是比较喜欢的,一来原始文件不受服务的开发约束,二来也可以提供简单的日志系统.线程守护等功能,是我个人比较倾向的行为.但是,有的场景下,可能还是需要原生的服务程序.这个时候,可以利用TopShelf简化程序的开发,如下是它的一些优点: Topshelf是.NET平台的Windows服务框架.Topshelf可以轻松创建Windows服务,测试服务,调试服务,并最终将其安装到Windows服务控制管理器(SCM)中. Topshelf…
由于项目开发中经常会有定时任务执行的需求,所以会第一时间就想到 windows 服务 的方式,但是做过开发的同学都知道windows服务不利于调试,安装也麻烦: 并且有开源的作业框架Quartz.NET非常方便和好用,谁还愿意自己去写那些Timer定时器呢?既然选择用Quartz.NET,那怎么打包成一个Windows服务形式去运行呢? 那接下来就要引入Topshelf组件了. Topshelf的使用 请查看博文地址:http://www.cnblogs.com/jys509/p/4614975…
在我们日常开发工作中,经常会运用到Quartz+Topshelf组件的组合来开发一些定时任务.那么在.Net Core下如何去使用呢?我自己尝试搭建了一个测试项目,过程中遇到了以下一些问题: Quartz 配置文件及版本问题.我们知道Quartz有2个配置文件,quartz.config和quartz.job.xml.前者负责组件初始化配置,后者负责job和triggle的配置.刚开始我是直接把framework下的配置文件直接拿过来用的,启动直接报错.主要问题在quartz.config qu…
目录 0. 背景说明 1. 使用Topshelf组件创建Windows服务 1.1 依赖Quartz.net实现定时任务 1.2 依赖于Topshelf创建服务类 1.3 log4net的配置文件log4net.config 1.4 主函数中配置服务信息 1.5 安装服务 3. Demo源码下载及参考文档 志铭-2021年12月13日 21:21:36 0. 背景说明 我为什么要创建windows服务?因为有一个操作需要我定时执行,这个操作可以是定时的数据同步或是周期性的某种操作 之前都是按照以…
这里是你想要的功能: 支持插件,将你要执行的任务编译成程序集放到框架的根目录下,再进行简单的配置就行了. 支持Corn表达式.想让任务在什么时候执行就在什么时候执行. 支持安装成windows service (通过topshelf实现) 保证任务在执行阶段,就算到了下一个触发时间,不重复执行(如果本次还没执行完的话). 还有…等我想到了再实现^o^,您也可以关注项目的地址:https://github.com/leleroyn/Windows-TaskSchedule,提出你想要的功能. 简单…
一 首先建立一个控制台需要引用一些组件 特别要注意引用Microsoft.Owin.Host.HttpListener别忘了这个组件,不引用他可能程序正常运行不会报错,但服务器一直开启失败(我之前就是掉过这个坑了) 二.建立一个控制台程序且建立集线器类MsgHub继承Microsoft.AspNet.SignalR.Hub 三.初始化服务端 四.调用InitSinalR方法即可启用成功服务端 到此完成服务端程序,客户端只需要请求上面地址即可运行 五.写到这只是完成了客户和服务消息传递,怎么将第三…
一.多线程技术应用场景介绍 本期同样带给大家分享的是阿笨在实际工作中遇到的真实业务场景,请跟随阿笨的视角去如何采用基于开源组件SmartThreadPool线程池技术实现多任务批量处理.在工作中您是否遇到过如何快速高效的处理Job任务列表.如何通过多线程批量处理订单.如何多线程群发短信.如何批量上传图片到远程图片服务器或者云存储图片服务器.如何通过多线程让应用程序提高对CPU的利用率从而增加应用程序的处理效率,等等.如果您有遇到类似的业务场景的而感到烦恼的话,那么今天您看完阿笨的分享课后下次碰到…
前言 以前总结过一篇基于Quartz+Topshelf+.netcore实现定时任务Windows服务 https://www.cnblogs.com/gt1987/p/11806053.html.回顾起来发现有点野路子的感觉,没有使用.netcore推荐的基于 HostedService 的方式,也没有体现.net core跨平台的风格.于是重新写了一个Sample. Work Service 首先搭建项目框架. 版本 .netcore3.1 建立一个Console程序项目模板,修改 proj…
本文转载: 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…
.NET平台常用的开发组件 原创 2017年02月24日 09:20:04 工欲善其事,必先利其器.学习.NET也10年有余,其优雅的编程风格,高效率的开发速度,极度简单的可扩展性,足够强大开发类库,较小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,虽然跟Java比Net还是要少,但也足够使用了,其中有一部分是从网上摘抄而来. 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架(Farbric). Memcahed:一套分布式的…
目的:以控制台方式开发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;…
Vici WinService 是 Windows平台下使用C#开发的轻量级用于创建,删除服务的类库,您只需简单的几行代码即可实现多线程异步服务的创建,删除,运行 废话不多说,直接上代码 /****************************************************************** * 创建人:HTL * 创建时间:2015-5-12 14:09:39 * 说明:使用Vici WinService组件创建的Windows服务 * Email:huangyu…
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…
转载自:http://www.cnblogs.com/hgmyz/p/5313983.html 基于转载进行补充 RPC框架: RPC:远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据. Thrift:是一个软件框架,用来进行可扩展且跨语言的服务的开发. gPRC:是Google公布的RPC开源软件,基于最新的HTTP2.0协议,并支持常见的众多编程语言. Wildfly:…
Topshelf 和 Katana:统一的 Web 和服务体系结构 Wes McClure 下载代码示例 使用 IIS 托管 ASP.NET Web 应用程序已成为业界标准十年有余.构建此类应用程序的过程相对简单,但部署它们则并不容易.部署此类应用程序需要掌握应用程序配置层次结构的精妙知识.IIS 历史版本的细微差别,以及对网站.应用程序和虚拟目录的繁琐设置.许多关键的基础结构通常最终会驻留在应用程序之外的手动配置 IIS 组件中. 如果应用程序不仅仅要满足于 Web 请求,还需要支持长时间运行…
直接贴代码了: 首先我们可以把所有的 Job 放到一个单独的 DLL 中,好处是可以共享这些业务 Job.比如我们新建一个 QuartzNetDemo.WinService.Jobs 的类库. 然后,我们再先定义一个 WriteTextToFileJob 的任务: public class WriteTextToFileJob : IJob { // Fields private static readonly string TypeName = typeof(WriteTextToFileJo…
上一文章是扩展ExtJS自带的Date组件.在这里将创建一个评分组件. 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2上的一个RatingStar扩展插件,在此基础上做了移植到ExtJS 4.2,并扩展了默认值.form表单支持等功能. 1.1 JavaScript代码 /*! * 评分组件 */ Ext.define('App.Demo.RatingStarFiledDemoTab', { extend: 'Ext.panel.Panel'…
写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: function() { }; }, setNewNumber: function() { }) }, render: function() { === ); return ( <div> <button onClick = {this.setNewNumber}>INCREMENT&l…
1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-------indexRoute的onEnter钩子函数…
上一篇 Angular2项目初体验-编写自己的第一个组件 好了,前面简单介绍了Angular2的基本开发,并且写了一个非常简单的组件,这篇文章我们将要学会编写多个组件并且有主从关系 现在,假设我们要做一个博客,博客的的文章具有主从关系,文章和文章详情;现在,我们新建一个Article的文件夹和其组件的基本架构(顺便说一下,我使用的是vs code 有个Angular2 fiels的插件,可以直接建立) 效果如下 我们需要显示博客,那就要建立一个blogdata的数据来源,这里为了方便我们直接采用…
上一篇 使用Angular-cli搭建Angular2开发环境 Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来 紧接着上一篇 环境搭建 的文章,我们这一篇来讨论Angualr2的项目结构和几本组件的编写模式 Angular-cli.json里面配置了项目的几本信息,包括版本名字之类的 package.json 是npm包配置 tslint你可以自行百度下,是一种标准化代码检查的东西 其他的不用特别去关心,我们项目的…
前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET Core 的想法. NPOI 的介绍不多说了,不了解的可以看一下 NPOI百度百科 的介绍,在此感谢瞿总和他的团队的贡献. NPOI 的移植之路并非想象的那么容易,因为其依赖了 System.Drawing 和 System.Window.Forms 两个组件,还有一个第三方的 SharpZipLib…
.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包含控制台.文本文件.数据库,一般都是创建全局的Logger,在需要记录日志的地方调用相应的Logger输出至相应目标.遇到输出目标多了有时候也感觉挺麻烦的,不过也还能接受.开始学习.NetCore后接触到了日志记录框架(Logging组件),虽然完全可以用之前的方式记录日志,不过应该使用更通用的方式…