topshelf windows服务

一 开发:

1、新建控制台程序

2、nuget下载topshelf,根据不同的net版本选择下载版本,本人4.5下载3.3.1

3、main方法中增加

HostFactory.Run(x =>
            {
                x.Service<Rabbit>(s =>
                {
                    s.ConstructUsing(name => new Rabbit());//Rabbit是下面具体的业务类,实现具体业务
                    s.WhenStarted(ra => ra.Start());//Start() Rabbit类方法
                    s.WhenStopped(ra => ra.Stop());//Stop() Rabbit类方法
                });

                //x.RunAsLocalSystem();
                x.RunAsLocalSystem();
                x.SetDescription("订单完成升级为网店");  //服务管理器中服务选项卡中描述栏显示的内容
                x.SetDisplayName("OrderCompleteUpgradeToShop");//任务管理器中服务选项卡名称栏显示内容
                x.SetServiceName("OrderCompleteUpgradeToShop");//服务管理器中显示名称
                x.StartAutomatically();//自动启动,启动模式

            });
public class Rabbit
    {

        public void Start()
        {
            //实现

        }

        public void Stop()
        {
            //实现
        }
    }

二 安装服务:

安装
rabbitWinServer.exe install
启动
rabbitWinServer.exe start
停止
rabbitWinServer.exe stop
卸载
rabbitWinServer.exe uninstall

生成项目后可以在debug文件夹找到生成的文件,shift+鼠标右键弹出“在此处打开命令窗口”,运行上面的相应代码

Note:其中rabbitWinServer.exe为exe的名称

三 查看服务安装及运行结果:

完成

相关图示:

时间: 2024-12-10 12:11:20

topshelf windows服务的相关文章

topshelf包装redis为windows服务

topshelf包装redis为windows服务 Redis服务端目前用的是控制台程序运行,部署的时候能作为windows服务后台运行感觉更好.找到一篇文章Running Redis as a Windows Service,利用windows installer实现的.如果使用topshelf,岂不是可以兼容mono,于是自己动手写了,实现很简单,代码已发布到github上 redis-topshelf. 如何使用? 1.打卡配置文件,配置文件描述如下: redis.service.name

使用Topshelf快速搭建Windows服务

创建一个windows服务用于同步SqlServer数据到Elasticsearch 新建elasticsearch索引 PUT:http://localhost:9200/index_singer/ { "settings": { "number_of_shards": 5, "number_of_replicas": 1 }, "mappings": { "singer_index": { "

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 5步创建Windows 服务 z

使用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

如何使用Topshelf管理Windows服务

一.官方网站及源码下载 1.官方网站:http://topshelf-project.com/ 2.源码下载:https://github.com/Topshelf/Topshelf/downloads 二.使用Topshelf创建服务 1 static void Main(string[] args) 2 { 3 HostFactory.Run(x => 4 { 5 x.Service<MyService>(dtService => 6 { 7 ServiceConfigurat

Quartz+TopShelf实现Windows服务作业调度

Quartz:首先我贴出来了两段代码(下方),可以看出,首先根据配置文件(quartz.config),包装出一个Quartz.Core.QuartzScheduler instance,这是一个调度器,调度各个任务项(Jobs)的执行.这个调度器可以被Start.被Shutdown.被PauseAll.被ResumeAll,这对应 了windows服务的开启.停止.暂停.恢复.当启动服务,我就调用调度器的Start(),停止服务我就调用调度器的Shutdown()方法. namespace Q

使用Topshelf创建Windows服务

本方式特点:代码简单,开源组件,Windows服务可运行多个实例 Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务. 官方网站:http://topshelf-project.com 第1步:引用程序集TopShelf.dll和log4net.dll 第2步:创建一个服务类MyClass,里面包含两个方法Start和Stop,还包含一个定时器Timer,每隔5秒往文本文件中写入字符 public class MyClass

使用Topshelf创建Windows 服务

本文转载:http://www.cnblogs.com/aierong/archive/2012/05/28/2521409.html b.利用组件Topshelf 本方式特点:代码简单,开源组件,Windows服务可运行多个实例 Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务. 官方网站:http://topshelf-project.com 第1步:引用程序集TopShelf.dll和log4net.dll 第2步:创

使用topshelf包装redis为windows服务

       Redis服务端目前用的是控制台程序运行,部署的时候能作为windows服务后台运行感觉更好.找到一篇文章Running Redis as a Windows Service,利用windows installer实现的.如果使用topshelf,岂不是可以兼容mono,于是自己动手写了,实现很简单,代码已发布到github上 redis-topshelf. 如何使用? 1.打卡配置文件,配置文件描述如下: redis.service.name 服务名称 redis.service