通过TopShelf快速开发服务程序】的更多相关文章

我之前在文章中介绍过使用NSSM将exe封装为服务,这种方式我个人是比较喜欢的,一来原始文件不受服务的开发约束,二来也可以提供简单的日志系统.线程守护等功能,是我个人比较倾向的行为.但是,有的场景下,可能还是需要原生的服务程序.这个时候,可以利用TopShelf简化程序的开发,如下是它的一些优点: Topshelf是.NET平台的Windows服务框架.Topshelf可以轻松创建Windows服务,测试服务,调试服务,并最终将其安装到Windows服务控制管理器(SCM)中. Topshelf…
1.TopShelf TopShelf是一个开源的跨平台的宿主服务框架.可通过.Net Core/.Net Framwork控制台应用程序快速开发windows服务,更加便于服务调试. 本文基于.Net Core2.2快速开发windows服务 首先,我们创建一个控制台应用程序 然后添加Topshelf Nuget程序包  版本4.2.1 通过Topshelf集成的Log4net管理日志,所以我们这里添加了Topshelf.LogNet4 Nuget程序包 添加log4net.config日志配…
本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载 (1) 在C#/.NET应用程序开发中创建一个基于Topshelf的应用程序守护进程(服务) (2) C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案 (3) 前言 对于使用…
ID生成器是指能产生不重复ID服务的程序,在后台开发过程中,尤其是分布式服务.微服务程序开发过程中,经常会用到,例如,为用户的每个请求产生一个唯一ID.为每个消息产生一个ID等等,ID生成器也是进行无状态服务开发的重要需求之一. ID生成器有其特殊要求: (1)    产生的ID不能重复,在任何情况下产生的ID都不能重复,例如:在ID生成器程序重启之后,ID生成器产生的新ID不能与重启之前产生的ID重复: (2)    ID尽可能短小,由于很多情况下,ID需要被存储或者传输,因此在满足ID不重复…
前段时间有一个项目,大体是要做一个GIS数据处理工具. 一般的方法是基于ArcObjects来进行开发,因为我对ArcObjects不太熟悉,所以就思考有没有其他简单快速的方法来做. 在查看ArcGIS的官方帮助文档时,我发现用Arcpy(ArcGIS的python库)来处理数据很简单,只需要关注逻辑就可以,不需要知道那么多的类啊对象什么的(ArcObjects).基本的思路解决了,接下来还有个问题:用户界面怎么弄? 答案是:PyQt!至于py2exe,大家看名称就知道它是用来把python程序…
前言 Grunt是一款前端构建工具,帮助我们自动化搭建前端工程.它可以实现自动对js.css.html文件的合并.压缩等一些列操作.Grunt有很多插件,每一款插件实现某个功能,你可以通过npm命名去下载插件,然后使用它们.关于grunt的使用以及配置,卤煮不打算在此介绍.本篇博文重点要讲的是如何快速开发一款自定义的grunt插件.因为卤煮在打包合并代码的时候发现了无法将html和js混合的文件进行压缩处理,为此卤煮也翻了很多资料,没查找到理想的解决方案.在山穷水复之时,硬着头皮自己开发了一个简…
最近一直在维护一套自己的快速开发平台. 主要应对针对C/S架构下的项目.然而对winform这快,还真没有看到过相对好的快速开发平台, 何为快速,在博客园逛了了好久, 预览了很多通用权限管理系统. 确实通过通用权限管理系统我们能快速的解决针对winform项目中的权限管理模块,节省这部分时间来更好的完善项目的的实际业务模块. 真的很不错. 有吉日嘎拉.湖南胡勇等等吧.忽然发现这些只是满足了我们的唯一的权限模块.当我们接到一个时间紧迫的项目我们是否能只通过这套权限管理来解决项目问题呢,显然是不能的…
这几个月一直忙APP的项目,没来得及更新项目,想想该抽出时间整理一下开发思路,跟大家分享,同时也希望得到宝贵的建议. 先说一下我们的权限管理的的设计思路,首先一个企业信息化管理系统一定会用到权限管理, 那么一个动态的菜单在企业信息化管理系统占有一定的分量. 下面介绍我的一些思路. 由于原声的winform界面美观性不够, 系统采用dotnetbar第三方控件来辅助编程. 首先我们看红色方框部分为我们的动态模块功能.这样我们获得到了以下几个信息, 我们需要记录模块功能, 并且需要父子集关系, 那么…
对于web方向的工作流,一直在用gooflow对于目前我的winform开发平台却没有较好的工作流组件.  针对目前的项目经验告诉我们.一个工作流控件是很必要的. 当然在winform方面的工作流第三方组件在网上找了很久,也没有发现自己比较心仪的组件. 对于工作流组件通过web方式来实现具有绝对的优势.我的这套winform平台当然也不能少了工作流组件. 通过winform来实现自己的工作流组件,目前我想到的指能通过GDI+重绘的方式来实现工作流的方案. 说干就干,如下图这是我通过GDI+绘制的…
通常我们在处理编辑窗体时.往往会遇到数据绑定.例如combobox控件绑定数据字典可能是我们经常用到的.然而在我的winform快速开发平台中我是如何处理这个频繁的操作呢? 首先,我们要绑定combobox动态数据,大致都是来自于数据字典的数据绑定,那么思路来了,我们需要绑定的是通过获取字典属性来绑定ComboBox控件.大家都知道ComboBox控件中存在显示数据,和值数据对数据值进行绑定. 那么此时我们需要定义一个实体类: /// <summary> /// ComboBoxModel数据…