当前作业环境 Windows8.1 | Visual Studio 2013

一. 建立项目,选择"Windows服务"模板

二. 查看生成的项目,结构很像WinForm的项目,其中Program.cs是程序入口,Service1.cs是服务类.

   Service1.cs,按F7从设计视图转到代码,服务类继承自服务基类,构造函数有初始化动作,这和Winform项目一样.
   OnStart() 服务开启时执行 OnStop()服务停止时执行,
   OnStart()方法里写了记录服务启动日志,和干活代码.
   OnStop()方法里记录服务停止日志,关闭干活代码开的线程,资源等如果有的话
   还有一些重写方法,如OnShutdown()系统关闭时执行,写了一个关机日志

三. 服务代码写好后,做个配置安装,

   1.切换到服务的设计视图->右击->添加安装程序

2.在安装程序视图上,选serviceInstall1->右击->属性.查看属性项,

        Description:服务的说明,设置后将会在"服务管理界面"点击一个服务后看到该说明文字
DisplayName:向用户展示的服务名
ServiceName:服务的名字,用于系统标识
StartType:启动方式自动,手动等,可在"服务管理界面"选择的启动方式
   3.在安装程序视图上,选serviceProcessInstaller1->右击->属性.查看属性项

   设置启动服务的账户,这里选本地系统

四. 安装服务到系统中.

        1.使用安装工具InstallUtil.exe
使用命令行工具(需要以管理员身份运行),地址是C:\Windows\Microsoft.NET\Framework64\v4.0.30319>installutil,
命令格式
installutil 要安装的服务路径加名字
installutil -u 要安装的服务 加上-u参数这是卸载服务
2.运行命令之后,服务安装好了,弹出一个界面,说明安装过程和日志查看的地方,一般在服务程序所在目录记有日志.
3.打开服务管理界面,会找到刚才安装的服务,和其它服务一样,右击属性,可以设置自动,手动.可以启动,停止等操作.

新建WINDOWS服务C#的更多相关文章

  1. Windows服务一:新建Windows服务、安装、卸载服务

    Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面 ...

  2. C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程

    前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这 ...

  3. Asp.net(C#) windows 服务{用于实现计划任务,事件监控等}

    什么是windows服务?      一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序.Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就 ...

  4. 使用windows服务更新站点地图

    由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象.为减轻数据库压力,我上个月对公司项目做了下调整.把新闻板块提取出来单独一个站点,单独一个数据库.减少了主站点和数据库的负担和压力. ...

  5. Windows服务中用Timer和线程两种方式来执行定时任务

    在Service服务文件夹下新建Windows服务 - TestService

  6. vs2015开发Windows服务

    工作已经很久,时隔这么长时间写这篇文章是给自己以后做参考.也不至于以后长时间不写Windows服务而忘记整个开发过程.windows服务开发,基础的就不说了,直接上过程. 1.新建windows服务项 ...

  7. 基于Windows服务的聊天程序(一)

    本文将演示怎么通过C#开发部署一个Windows服务,该服务提供各客户端的信息通讯,适用于局域网.采用TCP协议,单一服务器连接模式为一对多:多台服务器的情况下,当客户端连接数超过预设值时可自动进行负 ...

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

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

  9. 初识Windows服务 C#

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

随机推荐

  1. MySql数据库连接池专题

    MySql数据库连接池专题 - aspirant - 博客园https://www.cnblogs.com/aspirant/p/6747238.html

  2. 中国科学技术大学统一身份认证系统CAS

    CAS | Apereohttps://www.apereo.org/projects/cas 中国科学技术大学统一身份认证系统https://passport.ustc.edu.cn/login?s ...

  3. laravel自定义门面

    https://learnku.com/articles/19195   关于laravel门面和服务提供者使用的一点见解,门面之词,不足之处,还请多多指教. 在laravel中,我们可能需要用到自己 ...

  4. SQLServer2016 之后增加了索引列数的限制 从 16个列 增加到了 32个列

    创建带有包含列的索引 https://docs.microsoft.com/zh-cn/sql/relational-databases/indexes/create-indexes-with-inc ...

  5. Laravel设置软删除及其恢复系列操作

    软删除及其相关实现 在模型类中要使用SoftDeletestrait并设置$date属性数组 <?php namespace App\Models; use Illuminate\Databas ...

  6. Laravel技巧:使用load、with预加载 区别

    1.使用load $posts = Post::all(); $posts->load('user'); 2.使用with $posts = Post::with('user')->all ...

  7. day 7-8 协程

    不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去调 只要你用并发,就会有锁的问题,但是你不能一直去自己加锁吧那么我们 ...

  8. CodeForces 126B Password

    题目链接:http://codeforces.com/problemset/problem/126/B 题目大意: 多组数据每组给定1个字符串S,问是否存在S的一个尽量长的子串,同时是S的前缀和后缀, ...

  9. hadoop分布式系统架构详解

    hadoop 简单来说就是用 java写的分布式 ,处理大数据的框架,主要思想是 “分组合并” 思想. 分组:比如 有一个大型数据,那么他就会将这个数据按照算法分成多份,每份存储在 从属主机上,并且在 ...

  10. Golang的日志处理

    整个看了一圈下来,感觉Golang的日志包在管理多线程安全的情况下,提供了最小粒度的工具.并没有提供什么复杂的过滤器之类的生成. 实现了一个demo来记录一下日志分类日志打印等实现: package ...