.Net Windows Service(服务) 调试安装及System.Timers.Timer 使用

时间:2023-06-07 11:28:26

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

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

.Net Windows Service(服务) 调试安装及System.Timers.Timer 使用

2、添加Timer

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

双击 trmer1 .Net Windows Service(服务) 调试安装及System.Timers.Timer 使用生成事件,修改事件方法如下:

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

.Net Windows Service(服务) 调试安装及System.Timers.Timer 使用

serviceInstaller1 设置如下图:

.Net Windows Service(服务) 调试安装及System.Timers.Timer 使用

serviceProcessInstaller1设置如下图:

.Net Windows Service(服务) 调试安装及System.Timers.Timer 使用

生成时

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