.NET windows服务(一:创建windows服务)

引用地址:https://docs.microsoft.com/zh-cn/dotnet/framework/windows-services/how-to-create-windows-services

创建服务时,可使用名为“Windows 服务”的 Visual Studio 项目模板。 通过引用适当的类和命名空间、为服务设置来自基类的继承和替代你可能想要替代的几个方法,此模板自动为你完成了许多工作。

警告

Visual Studio 的速成版中未提供 Windows 服务项目模板。

要创建功能性服务,你至少必须:

  • 设置 ServiceName 属性。
  • 为你的服务应用程序创建必要的安装程序。
  • 替代并指定 OnStart 和 OnStop 方法的代码,以自定义你的服务的行为方式。

要创建 Windows 服务应用程序

  1. 创建“Windows 服务”项目。

    备注

    有关不使用模板编写服务的说明,请参阅如何:以编程方式编写服务

  2. 在“属性”窗口中,为服务设置 ServiceName 属性。

    备注

    ServiceName 属性的值必须始终与记录在安装程序类中的名称相匹配。 如果更改此属性,你还必须更新安装程序类的ServiceName 属性。

  3. 设置下列任何一个属性,确定你的服务的运行方式。
    属性 设置
    CanStop True 表示服务将接受请求停止运行;false 将阻止服务被停止。
    CanShutdown True 表示当服务所在的计算机关机时服务需要接受通知,启用它来调用 OnShutdown 过程。
    CanPauseAndContinue True 表示服务将接受请求暂停或恢复运行;false 将阻止服务被暂停或恢复。
    CanHandlePowerEvent True 表示服务可处理计算机电源状态更改的通知;false 将阻止向服务通知这些更改。
    AutoLog True 将在你的服务执行操作时向应用程序事件日志写入信息条目;false 将禁用该功能。 有关详细信息,请参阅如何:记录关于服务的信息. 注意:默认情况下,将 AutoLog 设置为 true

    备注

    当 CanStop 或 CanPauseAndContinue 设置为 false 时,“服务控制管理器”将禁用相应的菜单选项来停止、暂停或继续该服务。

  4. 访问代码编辑器,并填写你想要对 OnStart 和 OnStop 过程的处理。
  5. 替代你想要定义功能的任何其他方法。
  6. 添加服务应用程序所必需的安装程序。 有关详细信息,请参阅如何:将安装程序添加到服务应用程序
  7. 通过从“生成”菜单选择“生成解决方案”来生成项目。

    备注

    不要通过按 F5 来运行你的项目 — 你无法通过这种方式运行服务项目。

  8. 安装服务。 有关更多信息,请参见 How to: Install and Uninstall Services

原文地址:https://www.cnblogs.com/xieyang07/p/10192503.html

时间: 2024-12-11 09:13:32

.NET windows服务(一:创建windows服务)的相关文章

windows sc 添加创建exe服务;

SC 是用于与服务控制管理器和服务进行通信的命令行程序. 1.SC 命令 格式 sc <server> [command] [service name] <option1> <option2> 在管理远程主机时只需在SC后加上\\ IP地址:sc \\172.16.2.32 query 服务名 2.查看一个服务的运行状态sc query 服务名sc query 服务名 3.查看一个服务的配置信息sc qc 服务名 4.启动一个服务sc start 服务名 5.暂停一个服

玩转Windows服务系列&mdash;&mdash;给Windows服务添加COM接口

当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候,我们应该怎么做呢? 快速给Windows服务添加实时交互功能的方案 Windows服务是一个进程,而我们用于交互的程序,又是另外一个进程.我们与Windows服务实时交互,其实就是一个进程间通信的问题.所有的进程间通信的方案基本上都适用于实时交互的方案,比如Socket.共享内存.管道.COM等.

Windows Azure下的Windows VM密码重置

Windows azure下的windows vm密码重置 说到密码问题,相信管理员都头疼,尤其作为一个大企业的管理员,服务器密码的使用很是麻烦,为什么这么说呢,因为大企业要求的信息安全,要求用户密码45天更改一次,当然不更改的话那就意味着过期,就无法使用了,还有一种情况那就是用户的密码,对于不在公司办公,而是外派的用户不经常访问偶尔访问公司的信息系统的用户密码确实是一个问题,对于我们公司来说,就这样的问题比较多,经常让助理发邮件给管理员重置他们的密码,这样给管理员带来很大困扰,后来呢,为了彻底

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

(转)创建Windows服务(Windows Services)N种方式总结

转自:http://www.cnblogs.com/aierong/archive/2012/05/28/2521409.html 最近由于工作需要,写了一些windows服务程序,有一些经验,我现在总结写出来.目前我知道的创建创建Windows服务有3种方式:a.利用.net框架类ServiceBaseb.利用组件Topshelfc.利用小工具instsrv和srvany 下面我利用这3种方式,分别做一个windows服务程序,程序功能就是每隔5秒往程序目录下记录日志: a.利用.net框架类

.Net创建windows服务入门

本文主要记录学习.net 如何创建windows服务. 1.创建一个Windows服务程序 2.新建安装程序 3.修改service文件 代码如下 protected override void OnStart(string[] args) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString(&

使用Topshelf创建Windows服务

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

在64位windows下使用instsrv.exe和srvany.exe创建windows服务

在64位windows下使用instsrv.exe和srvany.exe创建windows服务 在32位的windows下,包括windows7,windows xp以及windows 2003,都可以使用instsrv.exe和srvany.exe来创建自定义的windows服务.比如,我们有一个bat文件,用于将指定的程序作为服务进行启动,使用一般的工具都不可以进行此类工作,而使用由windows 2003的资源工具包windows toolkit中所带的instsrv就可以. 详细的用法这

创建Windows服务简单流程

1.首先打开VS2010(或者其他版本),创建Windows服务项目 2.创建完成后切换到代码视图,代码中默认有OnStart和OnStop方法执行服务开启和服务停止执行的操作,下面代码是详细解释: 注意选择的是系统时间,不是winform中的时间. using System; using System.IO; usingSystem.ServiceProcess; using System.Text; usingSystem.Timers; namespaceTestService { pub