一 、 服务简介

  Microsoft Windows 服务(过去称为 NT 服务)允许用户创建可在其自身的 Windows 会话中长时间运行的可执行应用程序。 这些服务可在计算机启动时自动启动,可以暂停和重启,并且不显示任何用户界面。 这些功能使服务非常适合在服务器上使用,或者需要长时间运行的功能(不会影响在同一台计算机上工作的其他用户)的情况。还可以在与登录用户或默认计算机帐户不同的特定用户帐户的安全性上下文中运行服务。

二 、 创建windows服务

  通过  右击项目  >>  添加  >>  windows服务   便可创建服务。

三 、关于windows服务组件

属性

ServiceName

 服务名称
 Language   本的化语言
 Localizable   确定是否将为此对象生成可本的化的代码。
 AutoLog   获取可用于写入应用程序事件日志服务命令调用,如启动和停止通知事件日志。
 CanHandleSessionChangeEvent  
 CanStop   获取或设置一个值,指示它启动后是否可以停止服务。
 CanShutdown   获取或设置一个值,该值在系统关闭时是否应通知服务。
 CanPauseAndContinue   获取或设置一个值,该值指示是否可以暂停和恢复该服务。
 CanHandlePowerEvent   获取或设置一个值,该值指示服务是否可以处理计算机电源状态更改的通知。
 ExitCode   获取或设置该服务的退出代码。
 ServiceHandle  获取服务的服务控制句柄。

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

  • 设置 ServiceName 属性。

  • 替代并指定 OnStart 和 OnStop 方法的代码,以自定义你的服务的行为方式。

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

    备注:

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

  2. 设置下列任何一个属性,确定你的服务的运行方式。

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

    备注

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

  3. 访问代码编辑器,并填写你想要对 OnStart 和 OnStop 过程的处理逻辑代码。如下:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Linq;
    using System.ServiceProcess;
    using System.Text;
    using System.Threading.Tasks; namespace ConsoleApp1
    {
    partial class Service1 : ServiceBase
    {
    public Service1()
    {
    InitializeComponent();
    } protected override void OnStart(string[] args)
    {
    // TODO: 在此处添加代码以启动服务。
    } protected override void OnStop()
    {
    // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
    }
    }
    }
  4. 替代你想要定义功能的任何其他方法。

  5. 安装服务。 有关更多信息,请参见 https://www.cnblogs.com/xieyang07/p/10192514.html

C#创建windows服务(一:初识windows服务)的更多相关文章

  1. [Windows Server 2012] 初识Windows Server 2012

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:初次见识Win ...

  2. [Windows Server 2003] 初识Windows Server 2003

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:初次见识W ...

  3. 创建寄宿在Windows服务中的WCF服务

    1.创建Windows服务项目 2.Server1改名为你想要的名称,比如WinServer 3.在项目中新建一个WCF文件夹,用于存放wcf服务文件. 注:在WcfServer类的上面还要添加 [S ...

  4. .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)

    .net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...

  5. 创建、设置和安装Windows服务

    文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html:和:http://www.cnblog ...

  6. 初识Windows服务 C#

    1.新建Windows服务   2.切换到代码视图,拷入如下代码 该服务以10S的间隔创建 d:/1.txt 文件 using System; using System.Collections.Gen ...

  7. 使用C#创建Windows服务 并发布Windows 服务

    一.开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Framework 4.0 目标平台:X86 二.创建Windows Servic ...

  8. C#创建、设置和安装Windows服务

    文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html:和:http://www.cnblog ...

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

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

随机推荐

  1. 关于Linux连接工具mobaxterm显示中文乱码问题

    本人用的是MobaXterm Personal 9.1版本.近期发现连接上服务器,查看日志时,发现中文乱码,无法正常显示.甚是苦恼.百度搜索该工具显示乱码问题,无一人解决.提倡更换连接工具.无意间发现 ...

  2. 使用pipenv管理你的python项目

    怎么使用pipenv管理你的python项目   原文链接:https://robots.thoughtbot.com/how-to-manage-your-python-projects-with- ...

  3. 最简单之安装azkaban

    一,拉取源码构建 git clone https://github.com/azkaban/azkaban.git cd azkaban; ./gradlew build installDist 二, ...

  4. python改成了python3的版本,那么这时候yum就出问题了

    既然把默认python改成了python3的版本,那么这时候yum就出问题了,因为yum貌似不支持python3,开发了这个命令的老哥也不打算继续写支持python3的版本了,所以,如果和python ...

  5. 完整开发vue后台管理系统小结

    最近业余帮朋友做两个vue项目,一个是面向用户纯展示系列的(后统称A项目),一个是后端管理系统类的(后统称B项目).两者在技术上都没难度,这里对开发过程遇到的问题.取舍等做一个小节. 关于项目搭建 目 ...

  6. Java笔记(第六篇-网络通信)

    TCP/IP模式是一种层次结构,共分为四层,分别为应用层.传输层.互联网层和主机到网络层. 在TCP/IP协议栈中,有两个高级协议是网络应用程序编写者应该了解的,即“传输控制协议”(TCP)与“用户数 ...

  7. 捣乱Linux环境下的C语言

    #include <stdlib.h> 头文件作用.CSDN C 标准库 – <stdlib.h> | 菜鸟教程  https://www.runoob.com/cprogra ...

  8. Mybatis源码学习之日志(五)

    简述 在Java开发中常用的日志框架有Log4j.Log4j2.Apache Commons Log.java.util.logging.slf4j等,这些工具对外的接口并不相同.为了统一这些工具的接 ...

  9. Palindrome Degree(CodeForces 7D)—— hash求回文

    学了kmp之后又学了hash来搞字符串.这东西很巧妙,且听娓娓道来. 这题的题意是:一个字符串如果是回文的,那么k值加1,如果前一半的串也是回文,k值再加1,以此类推,算出其k值.打个比方abaaba ...

  10. WebSSH2 界面ssh(转载)

    工具:Virtual Machines14.1 系统环境:CentOS 7 64位 (2个)   IP:192.168.163.138 IP:192.168.163.141 概述:在138系统中安装部 ...