.Net Windows Service(服务) 调试安装及System.Timers.Timer 使用
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 使用的更多相关文章
- C# Windows Service服务的创建和调试
前言 关于Windows服务创建和调试的文章在网络上的很多文章里面都有,直接拿过来贴在这里也不过仅仅是个记录,不会让人加深印象.所以本着能够更深刻了解服务项目的创建和调试过程及方法的目的,有了这篇记录 ...
- windows Service 之调试过程(附加到进程里调试,而且启动时间不能超过30秒)
最近第一次用C#写了一个windows service ,其实实现的内容比较简单.就是启动remoting 连接,但是调试相对初次写windws service 的我来说,比较烦.没有经验,而且没办法 ...
- C#Windows Service服务程序的安装/卸载、启动/停止 桌面客户端管理程序设计
C#Windows Service服务程序的安装/卸载.启动/停止 桌面客户端管理程序设计 关于Windows Service程序的安装与卸载如果每次使用命令行操作,那简直要奔溃了,太麻烦而且还容易出 ...
- 震惊!Windows Service服务和定时任务框架quartz之间原来是这种关系……
过场CG: 接到公司领导的文件指示,“小熊”需要在6月底去海外执行一个行动代号为[定时任务]的营救计划,这个计划关系到公司某个项目的生死(数据安全漏洞),作战部拟定两个作战方案: 方案一:使用务定 ...
- quartz.net结合Topshelf实现windows service服务托管的作业调度框架
topshelf可以很简单方便的实现windows service服务,详见我的一篇博客的介绍 http://www.cnblogs.com/xiaopotian/articles/5428361.h ...
- Windows Service 服务搭配FluentScheduler实现定时任务调度
Windows Service 服务 创建Windows Service 项目 创建一个Windows Service项目,并将项目名称改为 TaskWindowService 在解决方案资源管理器内 ...
- windows service 2008 R2 安装net4.6环境失败,windows service 2008 R2 升级sp1问题
一.错误 1.因为我的程序是以vs2017开发的,在windows service 2008 R2 IIS部署项目文件报出错误,因此要安装net4.6的环境. 2.windows service 2 ...
- System.Windows.Forms.Timer、System.Timers.Timer、System.Threading.Timer的 区别和用法
System.Windows.Forms.Timer执行的时候,如果你在过程中间加一个sleep整个的界面就死掉了,但是另外两个没有这个情况,System.Timers.Timer.System.Th ...
- 简述System.Windows.Forms.Timer 与System.Timers.Timer用法区别
System.Windows.Forms.Timer 基于窗体应用程序 阻塞同步 单线程 timer中处理时间较长则导致定时误差极大. System.Timers.Timer 基于服务 非阻塞异步 多 ...
随机推荐
- 用Docker启动php-5.6 fpm服务配合宿主机nginx运行php测试环境
因为Ubuntu18.04默认的openssl版本就是1.1.0, 而PHP5.6无法在openssl 1.1下编译 "PHP 5.6 is receiving only security ...
- BigDecimal四舍五入保留两位小数
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public c ...
- 2D空间中求线段与圆的交点
出处: https://answers.unity.com/questions/366802/get-intersection-of-a-line-and-a-circle.html 测试脚本(返回值 ...
- [100]awk运算-解决企业统计pv/ip问题
awk运算 awk以脚本方式运行 #!/bin/awk BEGIN{ arr[1]="maotai"; arr[2]="maotai" for(k in arr ...
- 如何生成ExecutionGraph及物理执行图
http://chenyuzhao.me/2017/02/06/flink%E7%89%A9%E7%90%86%E8%AE%A1%E5%88%92%E7%94%9F%E6%88%90/ https:/ ...
- 通用返回XML格式结果
public class ResultModel { public string OrderCode { get; set; } public string Message { get; set; } ...
- T-Pot平台Honeytrap蜜罐TCP/UDP服务攻击探测及实现自动化邮件告警
T-pot平台的Honeytrap可观察针对TCP或UDP服务的攻击,作为一个守护程序模拟一些知名的服务,并能够分析攻击字符串,执行相应的下载文件指令,当不产生TCP或者UDP协议的时候Honeytr ...
- C#中的Action<>和Func<>
其实他们两个都是委托[代理]的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的代码: public delegate void myDeleg ...
- Java多线程系列——线程阻塞工具类LockSupport
简述 LockSupport 是一个非常方便实用的线程阻塞工具,它可以在线程内任意位置让线程阻塞. 和 Thread.suspend()相比,它弥补了由于 resume()在前发生,导致线程无法继续执 ...
- 【Matplotlib】利用Python进行绘图
[Matplotlib] 教程:https://morvanzhou.github.io/tutorials/data-manipulation/plt/ 官方文档:https://matplotli ...