2011-09-09 98 views
1

如何运行一个Windows服务每小时?Windows服务 - C#

+0

您是否可以为您的请求添加更多背景?它有什么作用?为什么你需要一个服务,而不是,例如,任务调度程序? – mtijn

+0

感谢您的回复。我需要该服务每小时执行一次方法,该方法基本上从数据库获取数据,并将数据插入到数据库中。 – johnnie

+1

大多数数据库建立支持这种管理任务 – Carsten

回答

7

或只写一个简单的应用程序,并使用系统Task Scheduler服务来运行你的应用程序每隔一小时 - 没有必要在这一切写服务办法。

2

根据您的问题(这只是表面上的),我想不出别的事比使用由VS提供创建服务,并使用定时器正常服务模板的其他说明触发方法,你有兴趣每小时运行一次。

关于定时器,你也可以检查出来here

有关如何创建服务一些更多的信息,在可以在msnd web site

看看作为一个简单的经验法则,永远不要忘记禁用您开始处理您的员工之前的计时器,并在年底重新启用

+0

MSDN包含一个简单的Alarm类的示例。您可以使用它来定期触发您的方法。每次触发报警事件时,请确保设置新的报警时间。您可以在Windows服务中使用这种方法。这里是MSDN文章:http://msdn.microsoft.com/en-us/library/wkzf914z%28v=VS.90%29.aspx#Y2400 ...你可以重写此示例使用定时器来代替。 –

+0

@cgeers感谢您的提示 – Andres

0

那么你可以创建一个在60分钟

 timer1 = new Timer(); 
     this.timer1.Interval = 1000 * 60* 60; 
     this.timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed); 
     timer1.Enabled = true; 

写这段代码在Windows服务的OnStart方法的时间间隔工作的服务,你将能够在每小时的方式运行服务。