新建WINDOWS服务C#
当前作业环境 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#的更多相关文章
- Windows服务一:新建Windows服务、安装、卸载服务
Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面 ...
- C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程
前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这 ...
- Asp.net(C#) windows 服务{用于实现计划任务,事件监控等}
什么是windows服务? 一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序.Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就 ...
- 使用windows服务更新站点地图
由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象.为减轻数据库压力,我上个月对公司项目做了下调整.把新闻板块提取出来单独一个站点,单独一个数据库.减少了主站点和数据库的负担和压力. ...
- Windows服务中用Timer和线程两种方式来执行定时任务
在Service服务文件夹下新建Windows服务 - TestService
- vs2015开发Windows服务
工作已经很久,时隔这么长时间写这篇文章是给自己以后做参考.也不至于以后长时间不写Windows服务而忘记整个开发过程.windows服务开发,基础的就不说了,直接上过程. 1.新建windows服务项 ...
- 基于Windows服务的聊天程序(一)
本文将演示怎么通过C#开发部署一个Windows服务,该服务提供各客户端的信息通讯,适用于局域网.采用TCP协议,单一服务器连接模式为一对多:多台服务器的情况下,当客户端连接数超过预设值时可自动进行负 ...
- 创建、设置和安装Windows服务
文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html:和:http://www.cnblog ...
- 初识Windows服务 C#
1.新建Windows服务 2.切换到代码视图,拷入如下代码 该服务以10S的间隔创建 d:/1.txt 文件 using System; using System.Collections.Gen ...
随机推荐
- PAT L2-024 部落
https://pintia.cn/problem-sets/994805046380707840/problems/994805056736444416 在一个社区里,每个人都有自己的小圈子,还可能 ...
- html js 表单提交前检测数据
通过使用form的onsibmit来控制是否提交数据 返回值为真是提交,其他不变,示例如下: JS部分 function check() { var newPwd = document.getElem ...
- python3 Tkinter GUI 试水
from tkinter import * #导入tkinter下所有包,用于GUI开发#窗口创建tk=Tk()cans=Canvas(tk,width=400,height=400)#定义窗口规格c ...
- Java案例-用户注册邮箱绑定激活功能实现
<–start–> 需求描述:当客户打开收到邮箱激活码的邮件,点击激活链接,正确填写激活码后就会完成邮箱激活的步骤. 在后台编程代码编写中,有以下几个要点: ① 接收客户的手机号码和邮箱激 ...
- 小程序和H5互调
小程序跳H5页面 https://blog.csdn.net/mytljp/article/details/81030687(copy) H5页面跳小程序 https://blog.csdn.net/ ...
- socket基础编程-1
server端和client端 1.server端: import socket server=socket.socket() server.bind(('localhost',8080)) serv ...
- Spring框架IOC和AOP的实现原理
IoC(Inversion of Control) (1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控.控制权由应用代码中 ...
- 记一次tomcat7.0版本启动项目失败问题
测试项目在tomcat7中启动失败,报错如下: @794314bc3 Error during job execution (jobs.Bootstrap) Oops: VerifyError ~ p ...
- comparable和comparator
Comparable Comparable可以认为是一个内部比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,在compareTo方法中指定具体的比较方法. comp ...
- export default用法
// test.js export default { name: 'zs', age: 20 } 或是 // test.js var info = { name: 'zs', age: 20 } e ...