如何每小时自动运行一个.NET程序

时间:2010-03-10 22:48:54

标签: .net windows scheduled-tasks

我有通过Web服务访问的xml数据。我需要读取数据并在本地复制它。以下代码工作正常。我现在需要每天至少运行两次或三次此代码,无需人工干预。我怎么做?谢谢!

using System;
using System.Collections;
using System.Data;
using System.Xml;


 class MainClass{
public static void Main(){
XmlDocument doc = new XmlDocument();
// read
doc.Load(new System.IO.StringReader(GetContracts()));

// write
XmlTextWriter tw = new XmlTextWriter( "testOut.xml", null );
tw.Formatting = Formatting.Indented;
tw.Indentation = 4;
doc.Save( tw );
tw.Close();
}
}

3 个答案:

答案 0 :(得分:2)

使用任务计划程序。有一个GUI和一个命令行界面来设置任务 如果您使用GUI,请在Vista中的开始....控制面板....管理工具...中找到它。你将能够很容易地弄清楚如何每小时运行你的思考。

alt text http://i39.tinypic.com/zjt2rl.jpg

如果您使用命令行,请查看doc:http://msdn.microsoft.com/en-us/library/bb736357(VS.85).aspx

schtasks.exe /create /tn "My Task" 
            /tr "C:\path\to\the\app.EXE arg1 arg2" 
            /sc DAILY /RI HOURLY  
            /st 12:00:00 /ru username /rp password

(以上应该是一对一的)

答案 1 :(得分:1)

这实际上取决于您希望如何完成计划。如果它一天只有几次,我只会安排使用Windows中的任务计划程序定期执行应用程序。

答案 2 :(得分:-1)

Quartz是一个很好的java调度程序,当然你要么需要设置jar来启动windows,要么安装在像Tomcat或Jetty这样的应用服务器上。

http://www.quartz-scheduler.org/