Windows Service(服务)  是运行在后台的进程

1、VS建立 Windows 服务(.NET Framework)

2、添加Timer

双击Service1.cs可以拖控件(System.Windows.Forms.Timer)这儿注意命名空间哦,

双击 trmer1 生成事件,修改事件方法如下:

App.config:

<appSettings>
<add key="TimerExecTime" value="0001-01-01 10:07:00"/>
</appSettings>

Service1.cs

private void timer1_Tick(object sender, EventArgs e)
{
_logger.Info("timer1_Tick");
DateTime execTime = DateTime.Parse(ConfigurationManager.AppSettings["TimerExecTime"]);
_logger.Info("timer1_Tick" + execTime.Year);
if (execTime.Year == )
{
_logger.Info("yea"+ execTime.Hour + "Minute"+ execTime.Minute);
DateTime curTime = DateTime.Now;
if (execTime.Hour == curTime.Hour && execTime.Minute == curTime.Minute)
{
//每天几小时几分执行代码
}
}
}

进入Service1.Designer.cs  修改如下:

        #region 组件设计器生成的代码

        /// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
//this.timer1 = new System.Timers.Timer(this.components);
this.timer1 = new System.Timers.Timer();
//
// timer1
//
this.timer1.Interval = ;
//this.timer1.Tick += new System.EventHandler(this.timer1_Tick); this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
this.timer1.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
this.timer1.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
//
// Service1
//
this.ServiceName = "Service1"; } #endregion public System.Timers.Timer timer1;

3、调试方法引用:

https://www.cnblogs.com/xiebin1986/archive/2011/12/15/2288893.html

4、安装与卸载

在Service1.cs 右键=》添加安装程序 ,生成 ProjectInstaller.cs

serviceInstaller1 设置如下图:

serviceProcessInstaller1设置如下图:

生成时

Install.bat

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe 路径Release  Service.exe
Net Start 服务名
sc config 服务名 start= auto

Uninstall.bat

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe /u  路径Release  Service.exe

.Net Windows Service(服务) 调试安装及System.Timers.Timer 使用的更多相关文章

  1. C# Windows Service服务的创建和调试

    前言 关于Windows服务创建和调试的文章在网络上的很多文章里面都有,直接拿过来贴在这里也不过仅仅是个记录,不会让人加深印象.所以本着能够更深刻了解服务项目的创建和调试过程及方法的目的,有了这篇记录 ...

  2. windows Service 之调试过程(附加到进程里调试,而且启动时间不能超过30秒)

    最近第一次用C#写了一个windows service ,其实实现的内容比较简单.就是启动remoting 连接,但是调试相对初次写windws service 的我来说,比较烦.没有经验,而且没办法 ...

  3. C#Windows Service服务程序的安装/卸载、启动/停止 桌面客户端管理程序设计

    C#Windows Service服务程序的安装/卸载.启动/停止 桌面客户端管理程序设计 关于Windows Service程序的安装与卸载如果每次使用命令行操作,那简直要奔溃了,太麻烦而且还容易出 ...

  4. 震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……

    过场CG:   接到公司领导的文件指示,“小熊”需要在6月底去海外执行一个行动代号为[定时任务]的营救计划,这个计划关系到公司某个项目的生死(数据安全漏洞),作战部拟定两个作战方案: 方案一:使用务定 ...

  5. quartz.net结合Topshelf实现windows service服务托管的作业调度框架

    topshelf可以很简单方便的实现windows service服务,详见我的一篇博客的介绍 http://www.cnblogs.com/xiaopotian/articles/5428361.h ...

  6. Windows Service 服务搭配FluentScheduler实现定时任务调度

    Windows Service 服务 创建Windows Service 项目 创建一个Windows Service项目,并将项目名称改为 TaskWindowService 在解决方案资源管理器内 ...

  7. windows service 2008 R2 安装net4.6环境失败,windows service 2008 R2 升级sp1问题

    一.错误 1.因为我的程序是以vs2017开发的,在windows service 2008 R2  IIS部署项目文件报出错误,因此要安装net4.6的环境. 2.windows service 2 ...

  8. System.Windows.Forms.Timer、System.Timers.Timer、System.Threading.Timer的 区别和用法

    System.Windows.Forms.Timer执行的时候,如果你在过程中间加一个sleep整个的界面就死掉了,但是另外两个没有这个情况,System.Timers.Timer.System.Th ...

  9. 简述System.Windows.Forms.Timer 与System.Timers.Timer用法区别

    System.Windows.Forms.Timer 基于窗体应用程序 阻塞同步 单线程 timer中处理时间较长则导致定时误差极大. System.Timers.Timer 基于服务 非阻塞异步 多 ...

随机推荐

  1. C#串口SerialPort常用属性方法

    SerialPort(): //属性 .BaudRate;获取或设置波特率 .BytesToRead;得到 接收到数据的字节数 .BytesToWrites;得到送往串口的字节数 .DataBits; ...

  2. System Monitor for Mac(系统监控工具)破解版安装

    1.软件简介    System Monitor 是 macOS 系统上的一款非常实用的 Mac 系统工具,System Monitor for mac 是一款六合一应用,您可以同时获得 CPU.RA ...

  3. FeignClient使用

    在使用Spring Cloud开发微服务应用时中,各个微服务服务提供者都是以HTTP接口的形式对外提供服务,因此服务消费者在调用服务提供者时,通过HTTP Client的方式访问.当然我们可以使用JD ...

  4. 12C -- 创建RMAN备份用户

    1.NON-CDB环境 SQL> create user backup_admin identified by backup_admin default tablespace users; SQ ...

  5. Spring Boot系列——Spring Boot如何启动

    Spring Boot启动过程 ​上篇<Spring Boot系列--5分钟构建一个应用>介绍了如何快速创建一个Spring Boot项目并运行.虽然步骤少流程简单,为开发者省去了很多重复 ...

  6. CentOS7安装chrony替代ntp同步时间

    Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确.它由两个程序组成:chronyd和chronyc:chronyd是一个后台运行的守护进程,用于调整内核中运 ...

  7. 我要搬家到csdn,大家到那里来看我吧,平台更大,看到的人更多!

    ruby代码 #encoding: utf-8 require 'net/http' require 'open-uri' require 'nokogiri' # 用于解析html的模块 # sud ...

  8. JPA+Hibernate 3.3 ——第一个JPA程序

    所需要的最小的jar包(注意:jar包所在路径不能含有空格或中文) hibernate3.jarhibernate-cglib-repack-2.1_3.jarslf4j-api-1.5.2.jarj ...

  9. select理解

    https://www.cnblogs.com/skyfsm/p/7079458.html

  10. Socket阻塞模式和非阻塞模式的区别

    简单点说: 阻塞就是干不完不准回来,    非组赛就是你先干,我现看看有其他事没有,完了告诉我一声 我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系 ...