【发布时间】:2010-12-22 20:48:36
【问题描述】:
我在 VB.Net,VS 2008 中编码。 我编写了一个控制台应用程序,它使用来自网站应用程序的 2 个 Web 方法。我需要增强此控制台应用程序,以便它连续启动 Web 方法,可能每 x 分钟(在营业时间内),但绝不会在最后一次调用终止之前,其持续时间可能会有所不同,具体取决于要处理的帐户数量。
最初,我使用任务计划程序安排应用程序,但我认为这不会阻止同时进行两次调用。
虽然我看过很多关于使用计时器的帖子,但我还没有找到我真正需要的东西。
到目前为止,我有:
Dim aTimer As New System.Timers.Timer()
AddHandler aTimer.Elapsed, AddressOf TriggerWebMethods
' Set the Interval to 10 minutes:
aTimer.Interval = 1000 * 60 * 10 '(1 second * 60 = 1 minute * 10 = 10 minutes)
aTimer.Enabled = True
aTimer.AutoReset = True
- 什么时候应该使用
Timer.Elapsed和Timer.Tick? -
Timer.Enabled与Timer.Start之间有什么区别,我应该只选择一个吗? - 我希望在第一个网络方法完成后启动第二个网络方法。
我想让这个尽可能简单。谢谢大家的帮助。
【问题讨论】:
-
你的
TriggerWebMethods()方法是什么样的? -
整个过程相当复杂:数据从一台服务器上的数据库传输到另一台服务器上的数据库,经过加密,然后异步传输到目标服务器,并在那里解密。新数据将全天可供传输。因此 TriggerWebMethods 包含对每个 Web 引用的调用,然后将时间记录到事件日志中。
-
System.Timers.Timer 有一个 Elapsed-Event 并且 System.Windows.Forms.Timer 有一个 Tick-Event。查看此链接以了解差异:go4expert.com/forums/showthread.php?t=2122
-
您为什么不将其作为 Windows 服务执行?
-
@Conrad:没有理由重新使用 Windows 服务。昨天我开始研究这个时才第一次听说 Windows 服务,所以我对它们了解不多。