[Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务

时间:2023-01-09 21:37:51

  除了通过.net提供的windows服务模板外,Topshelf是创建Windows服务的另一种方法。

  

  官网教程:http://docs.topshelf-project.com/en/latest/configuration/quickstart.html

优点:

    1.可以直接调试运行。

    2.命令更方便。

    3.Topshelf是一个开源的跨平台的宿主服务框架,支持Windows和Mono

[Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务

下载:

  Install-Package Topshelf

  

开发:

  0.创建服务 1.安装 2.启动 3.停止 4.卸载 5.调试服务 6.监控服务

创建服务:

  1.使用Topshelf创建服务非常简单。构建任何一个class ,提供一个启动和停止的方法即可。

  2.本节使用System.Timers.Timer做定时任务处理

class MyService
{
readonly Timer timer = new Timer();
public MyService()
{
timer.Interval = ;
timer.Elapsed += (s, e) => File.AppendAllText("d:\\1.txt",DateTime.Now.ToLongTimeString()+"\r\n");
}
public void Start()
{
timer.Start();
}
public void Stop()
{
timer.Stop();
}
}

  当创建完一个服务后,需要配置指定服务和指定启动停止的方法。

class Program
{
static void Main(string[] args)
{
HostFactory.Run(x =>
{
//要配置的服务
x.Service<MyService>(c =>
{
c.ConstructUsing(name => new MyService());
c.WhenStarted(s => s.Start());
c.WhenStopped(s => s.Stop());
});
//服务的运行身份
x.RunAsLocalSystem(); x.SetDescription("服务描述");
x.SetDisplayName("显示名称");
x.SetServiceName("服务名称");
});
}
}

安装:

    a.cd 定位到程序目录.        b.程序以管理员身份运行        c.程序名 install

    [Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务

启动:

    start 程序名

停止:

  

    stop 程序名

卸载:

    uninstall 程序名

[Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务

调试服务:

  直接运行,即可调试

[Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务

监控:

使用ServiceController来获取服务状态或对服务进行控制。

这个类可以获取服务的状态,属性,对服务也可以进行启动,停止操作

代码下载:点击下载

[Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务的更多相关文章

  1. 使用Topshelf创建Windows服务

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  2. Topshelf创建Windows服务

    使用Topshelf创建Windows服务 概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps ...

  3. C&num;&sol;&period;NET基于Topshelf创建Windows服务程序及服务的安装和卸载&lpar;极速,简洁&rpar;

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

  4. 【第三方插件】使用Topshelf创建Windows服务

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  5. C&num;&sol;&period;NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

  6. 使用Topshelf创建Windows服务&lbrack;转载&rsqb;

    概述 Topshelf是创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with Topshelf通过5个步骤详细的 ...

  7. 使用Topshelf创建Windows 服务

    本文转载: http://www.cnblogs.com/aierong/archive/2012/05/28/2521409.html http://www.cnblogs.com/jys509/p ...

  8. 使用 Topshelf 创建 Windows 服务

    Ø  前言 C# 创建 Windows 服务的方式有很多种,Topshelf 就是其中一种方式,而且使用起来比较简单.下面使用 Visual Studio Ultimate 2013 演示一下具体的使 ...

  9. windows &plus; SQL Server环境,创建ArcSDE服务

    ArcGIS for Server启用FeatureService需要ArcSDE和Geodatabase. 使用ArcSDE需要创建windows服务,ArcSDE只有命令行,所以只好阅读文档,找合 ...

随机推荐

  1. mac 下更新 &period;bash&lowbar;profile 文件

    1.打开terminal(终端) 2.cd ~ ( 进入当前用户的home目录) 3.open .bash_profile (打开.bash_profile文件,如果文件不存在就  创建文件:touc ...

  2. javax&period;management&period;NotCompliantMBeanException

    public interface QueueMBean { } 假如接口名叫 XMBean ,那么实现名就必须一定是X,而且是大小写敏感的. public class Queue implements ...

  3. SQL Server字符串函数(超实用)

    1. len():计算字符串长度 2. lower().upper():字符串转换为大.小写 3. ltrim().rtrim():截去字符串左.右侧空格 4. space():返回由重复的空格组成的 ...

  4. redis 多数据库

    一台服务器上都快开启200个redis实例了,看着就崩溃了.这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开. 那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的 ...

  5. FastReport使用二——二维码

    以下内容在FastReport Designer 中测试通过,如下图所示: 在使用FastReport Designer创建一维吗也就是一般普通的条码时,设置其Barcode属性为Code128 (建 ...

  6. Codeforces Round &num;215 &lpar;Div&period; 2&rpar; D题&lpar;离散化&plus;hash&rpar;

    D. Sereja ans Anagrams time limit per test 1 second memory limit per test 256 megabytes input standa ...

  7. asp&period;net mvc开发的社区产品相关开发文档分享

    分享一款基于asp.net mvc框架开发的社区产品--近乎.目前可以在官网免费下载,下载地址:http://www.jinhusns.com/Products/Download?type=whp 1 ...

  8. Oracle 11g系统自己主动收集统计信息的一些知识

    在11g之前,当表的数据量改动超过总数据量的10%,就会晚上自己主动收集统计信息.怎样推断10%.之前的帖子有研究过:oracle自己主动统计信息的收集原理及实验.这个STALE_PERCENT=10 ...

  9. 轻量级开源嵌入式关系数据库sqlite基本使用及接口初识

    preface,先闲来扯下蛋: 嵌入式数据库,NoSQL的是BerkeleyDB和InnoDB,leveDb.TC(个人较不熟悉),关系型嵌入式是SQLite; 服务器性质的NoSQL服务器,如Red ...

  10. SharePoint 2010 电子书下载网站推荐

    最近一直搜集SharePoint2010的资料,偶尔发现一个网站还不错,推荐给大家,皮皮书屋http://www.ppurl.com/tag/sharepoint,里面有很多SharePoint201 ...