在.net里可以每隔几分钟就触发某个事件吗? 该如何实现???  vb.net
 
    比如每5分钟就调用一个函数.........  期待你的帮助..............................

解决方案 »

  1.   

    用Timer控件。
    Friend WithEvents Timer1 As System.Windows.Forms.Timer = New System.Windows.Forms.TimerPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Timer1.Interval = 1000 '这里是时间间隔,单位为毫秒
        Me.Timer1.Enabled = True
    End SubPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Me.Label1.Text = DateTime.Now
    End Sub
      

  2.   

    可以用线程
    while(true)
    {
      ...
      Thread.Sleep(n*60);
    }
      

  3.   

    确实只有这个办法.而且你必须在Global文件中的Application_Start设置才不会产生多个进程.
    示例如下:Global.asax.cs
    protected void Application_Start(Object sender, EventArgs e)
    {
      // 创建一个计时器,单位:毫秒
      System.Timers.Timer aTimer = new System.Timers.Timer();  //600秒一触发  // 将 Fresher 指定为计时器的 Elapsed 事件处理程序 
      aTimer.Elapsed += new System.Timers.ElapsedEventHandler(aTimer_Elapsed);
      
      // AutoReset 属性为 true 时,每隔指定时间循环一次; 
      // 如果为 false,则只执行一次。
      aTimer.Interval = 300000;
      aTimer.AutoReset = true;
      aTimer.Enabled = true;  // 先给 Application["TimeStamp"] 指定一个初值 
      this.Application.Lock();
      this.Application["TimeStamp"] = DateTime.Now.ToString();
      this.Application.UnLock();}
      

  4.   

    如上面写法,在你网站的IIS一启动,它就开始运行了.