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

  

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

优点:

    1.可以直接调试运行。

    2.命令更方便。

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

下载:

  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

    

启动:

    start 程序名

停止:

  

    stop 程序名

卸载:

    uninstall 程序名

调试服务:

  直接运行,即可调试

监控:

使用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#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载(极速,简洁)

    本文首发于:码友网--一个专注.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#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案

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

  6. 使用Topshelf创建Windows服务[转载]

    概述 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 + SQL Server环境,创建ArcSDE服务

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

随机推荐

  1. spring(3) JDBC

    Step Description 1 Create a project with a name SpringExample and create a package com.tutorialspoin ...

  2. Android--Matrix图片变换处理

    前言 本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 本篇博客的主要内容: Matrix Matrix缩 ...

  3. 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表

    最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...

  4. iOS客户端的在线安装和更新——针对ADHoc证书

    这篇文章纯给自己留个备份,所以对AdHoc证书内部分发和对iOS客户端开发不了解的请直接无视. 一般在iOS游戏或应用开发过程中,正式发布到App Store之前,都需要内部的测试,客户端的安装是个不 ...

  5. 定时5秒之后驻留在元素ID为content元素的内容

    如果我只能刷新一个特定的页面的一部分,这将是很大的,例如:仪表盘上的交通灯显示系统状态. 这是很容易通过使用jQuery JavaScript库,只刷新页面的一部分.一旦我们纳入我们的页面的jQuer ...

  6. Jenkins Code Sign error: No provisioning profiles found

    === BUILD TARGET JenkinsTest OF PROJECT JenkinsTest WITH CONFIGURATION Release === Check dependencie ...

  7. IOS CopyPNGFile 异常问题解决

    今天突然出现一个编译问题,搞了我好久,这里不多说了.直接整理出来,记录下来! 问题描述如下图: 出现:CopyPNGFile 异常错误,Command /Applications/Xcode.app/ ...

  8. (笔记)VC6插件安装--Unable to register this add-in because its DllRegisterServer returns an error

    在安装插件(如VC6显示行号的插件VC6LineNumberAddin.dll)的时候经常会提示"Unable to register this add-in because its  Dl ...

  9. Unity数据存储路径总结

    一.在项目根目录中创建Resources文件夹来保存文件.可以使用Resources.Load("文件名字,注:不包括文件后缀名");把文件夹中的对象加载出来.注:此方可实现对文件 ...

  10. saiku 无密码登陆

    公司想要使用saiku,希望没有密码直接可以使用,这样可以直接以iframe的形式嵌套到其他的系统中. 在网上搜索了很多,大致类似这篇博客介绍的:http://www.cnblogs.com/aviv ...