定期自动点击按钮

时间:2012-11-03 06:17:12

标签: c# asp.net .net timer

我有一个网络应用程序,可以生成其他团队上传的较小图像的放大图像,如果上传的文件夹中没有图像,则会停止。

需要单击一个按钮开始生成图像,并在每次完成时重新启动。

此点击事件是否可以定期间隔自动触发,例如15分钟或更好,仍然就像应用程序停止一样。

在早期的帖子How to write C# Scheduler中提出了类似的问题。

private void OnTimerTick()
{
    if (DateTime.Now.Minutes % 15 == 0)
    {
        // Do something
    }
}

我应该在哪里放置计时器以拨打以下代码?

protected void btnImgGenerate_click()
{
    // Application code
}

有没有办法检查asp.net中的Web应用程序是否已停止执行,然后自动重启?

使用计时器,我可以安排应用程序在一天中的特定时间启动和停止,并使用第二种方法在指定的持续时间内保持应用程序运行。

3 个答案:

答案 0 :(得分:1)

有一个启动计时器的按钮点击事件 -

 protected void button1_Click(object sender, EventArgs e)
    {
     timer1.Enabled = true;
    }

在计时器Tick事件中,您可以执行以下操作 -

protected void timer1_Tick(object sender, EventArgs e)
    {
      timer1.enabled=false;
      //do your coding
      timer1.enabled= true;
    }

因此,一旦您单击按钮计时器启动,在将timer1.enabled设置为true之后,所有操作都会自动重启。

如果您正在寻找没有click事件的自动化,您可以使用javascript setInterval()方法 - 请参阅此处的示例 -

http://www.w3schools.com/jsref/met_win_setinterval.asp

答案 1 :(得分:1)

15分钟后点击按钮的jQuery实现(这将导致回发并触发你的事件)是:

$(document).ready(function(){
    setTimeout(function(){$('btnImgGenerate').click();},900000);
});

答案 2 :(得分:1)

您可以添加代码以从Global.asax文件中的System.Threading命名空间初始化计时器,并将其配置为使用所需的周期执行某些功能。但是,如果您的应用程序崩溃,您将遇到以下问题:

  

有没有办法检查asp.net中的Web应用程序是否有   停止执行然后自动重启?

     

使用计时器,我可以安排应用程序在特定情况下启动和停止   在指定的持续时间内保持应用程序运行   使用第二种方法的一天。

不。如果由于某些原因而停止并且没有新的请求,则无法从自身启动Web应用程序。因此,在我看来,为了您的目的,更适合Windows服务。