服务是一个运行在后台的程序,他没有界面,不能交互,只能孤独的独自运行。

  在开始->运行->输入services.msc可以打开服务管理器,这里可以查看和管理服务  

  很多时候都会用到服务,因为服务简化了我们的操作,省去了很多人力,最近公司需要同步数据,我也自己写了个服务,这里把服务的主要程序贴出来,给大家参考,也方便以后自己查阅。

C#服务程序

protected override void OnStart(string[] args)
{
//启动timer
//period = ServiceSettings.Default.ServiceTimerIntervalSecond * 1000;
// period = Convert.toint * period;//秒
serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);

}

protected override void OnStop()
{
//停止计时器
EndThing();
serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);
}

protected override void OnContinue()
{
//重新开始计时
serviceTimer.Change(0, period);

}

protected override void OnPause()
{
//停止计时器
EndThing();
serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);

}

public void TimerCallback(object obj)
{
//隔一段时间调用一次
DoThing();
}

  serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);
此处,state用于保存状态,如果不需要,保存状态,可以传入null。第三个参数0表示立即调用TimerCallback方法,如果不需要立即调用,可以传入period。period是计时器的计时间隔,单位为毫秒。

  服务写好后,还得配置,以方便安装

  因此,首先转到设计视图中,并选择属性窗口(可以按下F4)。

  把CanStop和CanShutdown设置为true。在安装之前,我们必须要安装一个安装程序。

  右击设计视图窗口,然后选择"Add Installer"。然后,它将显示ProjectInstaller.cs。在这个文件中,serviceInstaller1和serviceProcessInstaller1都存在。转到serviceProcessInstaller1属性处:

  · 把Account设置为LocalSystem。

  · 然后,转到serviceInstaller1属性处。

  · 把DisplayName和ServiceName设置为Monitoring。

  · 设置启动类型(StartType)为automatic。

服务写好了,还需要注册,不然不会运行,方法如下:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil  Path

  方法卸载的方法:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil -u Path

  本人长期代人写DEMO,功能点DEMO、入门教程等,如果有需要的可以联系我

转载于:https://www.cnblogs.com/_fyz/archive/2010/10/29/1864378.html

C# 写Windows服务相关推荐

  1. c#写windows服务

    创建一个Windows服务总体步骤如下: 按照Windows Service模板创建项目 添加定时器(timer)或者其它控件,并编写OnStart和OnStop事件方法 protected over ...

  2. 更上层楼:动态安装你的windows服务

    前言:先说明一下本文示例windows服务的简单需求,即根据外部配置实现不同方式记录日志的功能.记录日志的方式有三种,分为文本记录.数据库记录以及文本和数据库同时记录日志.如您所知,这个功能基本上没有 ...

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

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

  4. 为C# Windows服务添加安装程序

    首先,当然是创建一个Windows服务的项目.这个大家应该都知道怎么做(这都不明白的留言问我),然后要给服务"添加安装程序",如图1所示:(这一步和自己用InstallUtil注册 ...

  5. python创_Python创建Windows 服务

    Python 写windows 服务,需要使用 pywin32包. 直接上代码: #encoding=utf8 ''' Created on 2014-7-1 @author: wangmengnan ...

  6. Windows服务(Service)安装及启动停止方案

    目录 一.创作背景 二.问题解决 2.1 安装Windows service服务 2.2 主方法Main()主方法改写 2.3 安装service服务/卸载service服务 2.4 服务启停 2.5 ...

  7. vs2015开发Windows服务

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

  8. Windows服务简单开发

    Windows服务简单开发 一.服务项目搭建 1. 新建一个Windows服务项目 1.1.建立一个WindowsService项目 1.2.添加一个服务后台管理类库,便于项目维护 2.定时任务服务的 ...

  9. C# windows 服务学习探索

    起因: 同事写的C# windows 服务太不靠谱了.   老是挂. 给我造成巨大的麻烦 (我是技术支持,擦屁股的) 所以想自己学习写windows 服务并检测他的服务的运行状态,一旦挂掉,能在很短的 ...

最新文章

  1. tomcat server.xml各个端口的作用
  2. 第5章 线性回归算法
  3. JS实现失去焦点判断input内容是否大于0
  4. 云信小课堂|聊天室内容审核很头疼?3步解决!
  5. DDIA笔记——数据复制
  6. lvs和HA的高可用性
  7. 解决Tocmat6.x的catalina.out日志不断增加问题
  8. 【BZOJ2038】小Z的袜子,第一次的莫队算法
  9. IEquatable「T」和Equal详解
  10. 推荐两个高仿抖音 App 项目
  11. h5 字体加粗_css 加粗字体
  12. 这份Java日志格式规范,拿走不谢!
  13. 学中式烹调10天笔记(备用)
  14. 深度剖析C语言中整形的取值范围
  15. 来自阿里巴巴佛系Java程序员的指南,附项目源码
  16. CSAPP第89章家庭作业(部分)
  17. Cannot run program jad 的错误
  18. 3.数据仓库之确定粒度
  19. Android 自定义View 实例2_Clipping Canvas
  20. HTML期末作业 蛋糕bootstrap响应式网站html+css+javascript+jquery+bootstarp

热门文章

  1. centos6卸载mysql服务器_CentOS6.5下卸载自带的MySQL数据库安装MySQL5.6
  2. arm32 linux 内存分布,gcc代码反汇编查看内存分布[2]: arm-linux-gcc
  3. page分页php,Page分页函数
  4. fragment中文网_更新 · React Native 中文网
  5. 对C语言程序进行编译时 针对以下情况,linux书上划的题的答案.doc
  6. 【列表】python编程列表解析
  7. 论文免费开源:NB-IoT智慧路灯监控系统
  8. 力扣(LeetCode)刷题,简单题(第2期)
  9. OpenCV 多层感知器训练代码示例
  10. archlinux升级内核后virtualbox不能启动虚拟机