首页 > 编程语言 >关于定时程序,web/服务/winform

关于定时程序,web/服务/winform

时间:2022-11-11 14:15:17浏览次数:41  
标签:web sender void System Elapsed Start using 定时 winform

https://wenda.so.com/q/1371555124068874?src=140&q=c%23%E5%AE%9A%E6%97%B6%E7%A8%8B%E5%BA%8F

https://blog.csdn.net/yudehui/article/details/9454947

如果是web程序,可以在***.asax文件的Application_Start中执行,具体代码写在下边。当然你要了解Application_Start事件机制,需要在web程序第一次被执行,并且不停止该站点时一直有效。

或只能把应用程序作为系统的服务器,随windows一起启动了。

void Application_Start(object sender, EventArgs e)
{

system.***.timer tr1 = new system.***.timer(CheckEmailInterval);
***.autoreset = true;
***.enabled = true;
***.start();
***.elapsed += new system.***.elapsedeventhandler(tr1_Elapsed);

}

void tr1_Elapsed(object sender, system.***.elapsedeventargs e)
{要执行的代码}

定时器的创建很简单,只要在Asp.net的Global.asax中的Application_Start方法中加入如下代码就可以了。但本人我推荐推荐,对于一个Web站点来说,它所提供的是让用户去浏览它,但不是定时的去执行某样操作,如果你的网站已经达到一定的流量,请千万不要这样子做,把需要定时执行的操作写成服务吧。

下面我们来讲下如何在Asp.net中加定时器,首先在Global.asax里创建一个方法,当然,你其它新建一个类,或者在已有类中写也是一样的。代码如下:

void demo_Elapsed(object sender, ElapsedEventArgs e)

{//需要执行的操作}

写完demo_Elapsed这个方法之后,就在Application_Start方法下添加如下代码:

Timer objTimer = new Timer();

objTimer.Interval = 1 * 1000;//每秒执行一次(这里单位是毫秒)

objTimer.Enabled = true;

objTimer.Elapsed += new ElapsedEventHandler(demo_Elapsed);//demo_Elapsed就是需要调用的方法

到此就已经完成了。

如果我们想指定一个时间来执行程序的话,我们可以从ElapsedEventArgs中取得,代码如下:

int hour = e.SignalTime.Hour;//时

int minute = e.SignalTime.Minute;//分

int second = e.SignalTime.Second;//秒

得到了时、分、秒之后,接下来的操作就简单了,只要对比你指定的时间就行了,代码我就不写了。

===========================================

winform用定时器实例

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

 


namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{


public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
timer1.Interval = 1000;


timer1.Start();}


private void timer1_Tick(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
string h = dt.Hour.ToString();//小时
string m = dt.Minute.ToString();//分钟
if (h=="20"&&m=="24")
{
label1.Text="测试";
}
if (h == "20" && m == "25")
{
label1.Text = "测试2";
}
}

}
}

标签:web,sender,void,System,Elapsed,Start,using,定时,winform
From: https://www.cnblogs.com/Dongmy/p/16880276.html

相关文章