asp.net应用程序中的计时器控件

时间:2014-01-14 07:59:31

标签: asp.net

我有一个asp.net应用程序,我添加了一个间隔为1000毫秒的计时器控件。我面临三类问题:

1)当在浏览器中查看时,页面每秒加载一次,具有计时器的间隔。 我不希望这样,因为应用程序会非常繁重,如果最终应用程序不断重新加载,那么它将完全失败。

2)计时器的目的是每秒检查时间和日期,当正确的时间接近时,它应该发送一封电子邮件。此功能无效。我正在使用下面的代码。

If DateTime.Now = DateTime.Parse("01.13.2014 20:34") Then
        Call SendEmail()
        Timer1.Enabled = False
    End If

3)我想使用DateTimePicker来设置这个时间,就像我们用于Winforms的控件一样。有可能吗?当托管在服务器上时,应该花时间在本地服务器上,它从我的系统中获取。

由于

1 个答案:

答案 0 :(得分:0)

这是Timer Control的默认行为;一旦给定Interval并设置Enabled = true,它每隔(间隔)毫秒重新发布整个页面。

您正在做什么 - 等到发送电子邮件的特定时间 - 实际上并不适合Web应用程序。你可以这样做,但我会反对它;创建一个Windows服务来代替工作。

如果这听起来太令人生畏,还有其他选择: -

  • 控制台应用程序(在服务器上运行)
  • winforms应用程序(在服务器上运行)
  • SQL计划任务和SQL Mail(数据库服务器)

Windows Service方法是我使用的方法。

如果你真的想用网页做这件事,你应该考虑使用: -

  • 一个基于JavaScript的计时器,用于调用Web服务或HttpHandler,或
  • 在UpdatePanel中包装所需内容(如果有),并将计时器放在UpdatePanel中

正如我所说 - 我不会这样做。祝你好运。