一 、 服务简介

  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. SCU 4442 party 二分图最大点权独立集

    每个青蛙喝黑茶或者红茶或者都可以喝 M个矛盾关系 有矛盾的不能喝同种茶 但你可以花费Wi使得这个青蛙消除所有矛盾 把矛盾当作边 青蛙当作点 如果这两个青蛙只喝不同的一种茶就不建边 题目中保证了不存在奇 ...

  2. 挺棒的七个Python图形应用GUI开发框架

    作为Pyhon开发者,你迟早都会碰到图形用户界面(GUI)应用开发任务,目前市场上有大量Python GUI开发框架可供选择,Python wiki GUI programming给出了超过30个跨平 ...

  3. 我带旅游ERP管理系统开发的经历

    前言 不怎么会写博文的我也不知道怎么写,但是有冲动让我去记录下我做项目的经历. 项目背景 某旅行社需要一款内部业务管理系统,找了一家外包来开发但最终不是她们想要的,上线的时候很多问题,首先酒店和票务资 ...

  4. learning memchr func

    extern void *memchr(const void *buf, int ch, size_t count);   用法:#include <string.h> 功能:从buf所指 ...

  5. Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to `vtable for MainWindow'的解决办法

    在win+CLion上进行远程qt开发时碰到以下错误: 错误提示: undefined reference to `vtable for MainWindow' 原因:源文件的目录结构有问题?? 解决 ...

  6. layer提示带文字

    直接撸代码: //加载层-风格4 layer.msg('加载中', { icon: 16 ,shade: 0.01 });

  7. windows 安装python2.7

    下载:https://www.python.org/downloads/release/python-2716/ 安装即可. 设置环境变量 进入C:\Python27,修改python.exe 为py ...

  8. SpringSecurity学习总结

    第一.SpringSecurity-简介 1.1简介 SpringSecurity融合Spring技术栈,提供JavaEE应 用的整体安全解决方案: Spring Security为基于Java EE ...

  9. OpenDayLight安装Features

    OpenDayLight 0.4.4-Beryllium-SR4 opendaylight-user@root>feature:install odl-restconf opendaylight ...

  10. 【零基础】入门51单片机图文教程(Proteus+Keil)

    参考资料: https://www.jianshu.com/p/88dfc09e7403 https://blog.csdn.net/feit2417/article/details/80890218 ...